当前位置: 代码迷 >> 汇编语言 >> 输入一个十进制的数,并以十六进制形式存储,怎么做?
  详细解决方案

输入一个十进制的数,并以十六进制形式存储,怎么做?

热度:9337   发布时间:2013-02-26 00:00:00.0
输入一个十进制的数,并以十六进制形式存储,如何做???
要求:一个字符一个字符输入,以空格为结尾。

如何将一个十进制数转换为十六进制数并存储于寄存器中??

这个如何做,怎么样的思路

------解决方案--------------------------------------------------------
可以用直接定地址实现,就是根据值的索引查表
帖个程序给你吧

;利用查表的方法实现把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
  相关解决方案