題目:已知dat單元開始存放一組某團隊10人的體重公斤位元組資料,資料為68、95、101、54、48、49、78、42、105、79。現對這一組體重資料進行分類統計人數,分類統計為三類: 大於等於90kg的; 小於90且大於等於50kg的 ;小於50kg的 ,統計結果分別對應存放在cntonetwothree連續的3個位元組單元。試編制實現上述要求的完整匯程式設計序。
學組合語言都是乙個學期前的事了,昨天一好友在微博上求助計算機接**術的組合語言作業,花半個多小時看了下書並把程式寫出來了,沒有通過編譯,不過程式邏輯應該是沒有錯的。歡迎指正o(∩_∩)o~
assume cs:codesg, ds:data
data segment
dat db 68, 95, 101, 54, 48, 49, 78, 42, 105, 79
cntonetwothree db 3 dup(0)
data ends
codesg segment
codesg ends
mov al, dat
mov cl, 10
.loop:
cmp al, 90
jnb one ; 大於等於90
jb three; 小於50
jmp two ; 50~90之間
one:
inc cntonetwothree
jmp last
two:
inc cntonetwothree+1
jmp last
three:
inc cntonetwothree+2
jmp last
last:
loop .loop
mov ax, 4c00h
int 21h
end
組合語言練習(一)
編寫程式段從鍵盤接收乙個字元,如輸入為y或y,在螢幕上輸出 yes 如輸入為n或n,在螢幕上輸出 no 然後退出。如輸入其它字元,螢幕上輸出 please input again 然後等待重新輸入。datas segment 此處輸入資料段 string db input a letter stri...
組合語言(一) 資料的基礎
資料在記憶體中以二進位制的方式存放,一段記憶體中存放的內容只能為0和1,那麼如何才能知道一段0 1表示的究竟是什麼內容呢?1 數值 如十進位制 十六進製制的數值,均轉化為二進位制進行存放 熟練掌握 二 十 十六進製制之間轉換 2 非數值 如影象 圖示 指令等,通過二 進製編碼的形式進行存 放 asc...
6 組合語言的一些些
二進位制如何進行加減乘除運算的 二進位制與十進位制的轉換 xchg指令不允許的情況有以下四種 1.不能同時都為記憶體運算元 儲存器 2.任何乙個運算元都不能為段暫存器 3.任何乙個運算元不能為立即數 4.兩個運算元的長度必須相等 指令格式 xchg oprd1,oprd2 目的 源 功能 將乙個位元...