首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-05-24 
输入一个十进制的数,并以十六进制形式存储,如何做???要求:一个字符一个字符输入,以空格为结尾。如何将一个

输入一个十进制的数,并以十六进制形式存储,如何做???
要求:一个字符一个字符输入,以空格为结尾。

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

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

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

;利用查表的方法实现把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

热点排行