回覆列表
-
1 # 代入感258
-
2 # 使用者1740050079327
設定一字串sBuf長度為14滿足最大長度就OK
看你的數值長度,如果2位元組的,即0~65535的值,可以用以下程式碼。
要轉換的放到AX裡,字串尾放SI裡
MOV AX,VAL
XOR DX,DX
MOV BX,10
AGAIN: DIV BX
ADD AL,30H
MOV [SI],AL
DEC SI
XOR AX,AX
CMP DX,0
JNZ AGAIN:
之後把SI所指向的字串輸出就OK了。
組合語言將記憶體中的資料在螢幕上以十六進位制形式顯示出來,涉及記憶體資料讀取、數制轉換、顯示控制等,參見以下程式:data segmentTotal dw abcdhdata endscode segmentassume cs:code,ds:datamain proc farstart: mov ax,data mov ds,ax mov bx,Total mov dl,bh mov cl,4 shr dl,cl cmp dl,10 jc hex1 add dl,30hhex1: add dl,37h mov ah,02h int 21h mov dl,bh and dl,0fh cmp dl,10 jc hex2 add dl,30hhex2: add dl,37h mov ah,02h int 21h mov dl,bl mov cl,4 shr dl,cl cmp dl,10 jc hex3 add dl,30hhex3: add dl,37h mov ah,02h int 21h mov dl,bl and dl,0fh cmp dl,10 jc hex4 add dl,30hhex4: add dl,37h mov ah,02h int 21h mov dl,48h mov ah,02h int 21h mov ah,4ch int 21h ret main endp