从键盘输入一个16进制数,转换成十进制数然后输出,汇编程序实现啊

来源:百度知道 编辑:UC知道 时间:2024/09/19 19:52:27
比如输入1,会输出1,输入a,会输出10,如果输入的是Q,则程序结果!
二楼的,如果输入字母a b c d e f ,那它如何转换成10..16然后输出

源代码:保存为asm文件 用masm link debug编译
data segment
out db 'quit$'
data ends
code segment
assume cs:code ds:data
start:
xor ax,ax
mov ah,1
int 21h
mov bl,al

cmp bl,39h
ja above

mov dl,bl
mov ah,2
int 21h
jmp done
above:
cmp bl,51h
jz done1

mov dl,31h
mov ah,2
int 21h

sub bl,31h
mov dl,bl
mov ah,2
int 21h
jmp done

done1:
lea dx,out
mov ah,9
int 21h
done:
mov ah,4ch
int 21h

code ends
end start

如果是一位的话,把输入的数除以10,商就是十位数,余数就是个位数
如果是两位的话,把输入的数除以100,商就是百位数,把余数再除以10,商就是十位数,余数就是个位数
程序自己写吧

乘十迭加得十进制,除以十六反向输出得结果

现在学汇编语言的人可不多了。