要求:一个字符一个字符输入,以空格为结尾。
如何将一个十进制数转换为十六进制数并存储于寄存器中??
这个如何做,怎么样的思路
------解决方案--------------------------------------------------------
可以用直接定地址实现,就是根据值的索引查表
帖个程序给你吧
;利用查表的方法实现把1位十六进制数转换为对应的ascii码的子程序
assume cs:code
code segment
start: mov al,0Eh
call HTOASC
mov dl,al
mov ah,2
int 21h
mov ax,4c00h
int 21h
;程序名:HTOASC
;把一位十六进制数转化为对应的ascii码子程序
;入口参数al低位存放16进制数
;出口参数:al存放转化后的ascii码
;注意程序中使用了xlat指令,该指令中用bx寄存器存放表的首地址,al存放索引值,查表的结果也在al寄存器中
HTOASC proc
jmp htoascstart
table db '0123456789ABCDEF'
htoascstart: push bx
push ds
push cs
pop ds
lea bx,table
xlat
pop ds
pop bx
ret
HTOASC endp
code ends
end start