編乙個程式,要求把num單元存放的乙個8位二進位制數,在螢幕上顯示成16進製制數。
datas segment;此處輸入資料段**
num db 11001100b ;dch
mess db
'b converted to h:$
'datas ends
stacks segment
;此處輸入堆疊段**
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax,datas
mov ds,ax
;此處輸入**段**
mov ah,
9mov dx,seg mess
mov ds,dx
mov dx,offset mess
int21h
mov bl,num;將num裝入bl
mov ch,
2;控制迴圈次數
again:
mov cl,
4rol bl,cl;迴圈左移將二進位制數的高四位移到低四位
mov dl,bl;保護二進位制數
and dl,0fh;轉換為ascii碼
add dl,30h;判斷是否是大於9的ascii碼
cmp dl,3ah;轉換為字母
jb show
add dl,7h
show: ;顯示
mov ah,
2int
21h
dec ch
jnz again
mov dl,48h
mov ah,
2int
21h
mov ah,4ch
int 21h
codes ends
end start
這個程式的重點有兩個:1,將二進位制數迴圈左移四位轉換為一位十六進製制;
2.十六進製制輸出問題,判斷是否大於3ah,大於的話加7轉換為字母;
還需要注意的是:呼叫dos的2號功能是單個字元顯示,9號功能是字串顯示
彙編程式設計一點點提高2
編乙個程式,要求把num單元存放的乙個8位二進位制數,在螢幕上顯示成16進製制數。datas segment 此處輸入資料段 num db 11001100b dch mess db b converted to h datas ends stacks segment 此處輸入堆疊段 stacks ...
彙編一點點提高5
彙編一點點提高5 編寫乙個程式實現將資料段中儲存在string處到num處的字串進行分類統計,然後將結果存入以lett er digit和other為名的儲存單元中,並以十進位制顯示出來 datas segment 此處輸入資料段 string db 12abcde 3aaaa 456789143 ...
彙編一點點提高4
十進位制顯示非常巧妙 彙編一點點提高4 查詢字串中是否有空格,如有找出第乙個出現的位置用十進位制顯示,否則輸出no blank datas segment 此處輸入資料段 string db 12abcde 3 456789143 y 78 1 num equ string found db pla...