組合語言練習 幫機械專業同學做的一道作業

2021-06-02 00:17:49 字數 901 閱讀 5317

題目:已知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 目的 源 功能 將乙個位元...