匯編:將兩位十進制數轉化為十六進制數
mov ax,0 ;初始化ax
sub bh,30h ;把ascII碼轉化為十進制數
mov al,bh ;輸入的第一個數(十位數)
mov cl,0ah
mul cl ;al被乘十
sub bl,30h
add al,bl ;徹底轉化為十進制數
mov dl,al ;dl 中為十進制數
mov bl,10h ;16
mov cl,al
mov dl,0
l1:cmp cl,bl ;和十六比較看看是否比十六大
jnae l2
inc dl ;看該數里面有幾個十六
sub cl,bl
jmp l1
l2: add dl,30h ;比十六小的話第一位數應該為0,
;因為99化成十六進制數為63h第二位不會大于六
mov ah,02h
int 21h
cmp cl,0ah ;cl和十進行比較
jae l3
mov dl,cl
add dl,30h ;十以內的數加30
mov ah,02h
int 21h
jmp tishi
l3: mov dl,cl ;比十大的要變成字母
add dl,37h ;十進制二位數和十六進制abcdef差37h
mov ah,02h
int 21h
tishi:
lea dx,kongzi;控制換行回車
mov ah,09h
int 21h
lea dx,tital3;輸出抬頭3
mov ah,09h
int 21h
mov ah,01h ;判斷是否繼續
int 21h
cmp al,y
je retry
lea dx,kongzi;控制換行回車
mov ah,09h
int 21h
lea dx,tital4
mov ah,09h
int 21h
over: ;結束
mov ah,4ch
int 21h
code ends
end start本文引用地址:http://www.104case.com/article/201612/324153.htm
評論