如何用汇编语言实现十进制到二进制的转换?
最近在学汇编,看了清华大学,沈美明的《IBM-PC 汇编语言程序设计》
教程之后对其中一段关于十进制到二进制的转换的代码有点困惑:
D_B proc near
mov bx,0
newchar: mov ah,1
int 21h
sub al, 30h
jl exit
cmp al,9d
jg exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit: ret
D_B endp (不是原文不过大致相仿)
我认为这段代码应该是另种十进制到二进制的转换的算法。
不是通于常说的除二取余或绛幂法等。
不知道哪位大虾能介绍一下或提供点参考。
小弟在此拜谢!
[解决办法]
这个子程的功能是将输入的字符串转换为数值吧. 比如键入 '123 ', 则返回 7Bh(123d) 在 bx 中
[解决办法]
没有看代码.我的理解是十进制数放入寄存器后是以二进制形式存放的,所以直接将其输出后就行.