我正在(bhd)编号系统之间编写一个数字转换器,该程序接受 16 位二进制数或 4 位十六进制数。或 5 位小数。
当十进制值高于 65535 (FFFFh) 时,我编写的读取程序似乎有问题,因为我处理的是 16 位寄存器并且它不能包含更大的值
如果你能帮助我,我将不胜感激。
这是我的阅读程序:
Proc R
mov ah,01;read first digit
int 21h
mov saveal,al
cmp al,0dh; if it is a new line break then dont read
jz toret
mov al,radex ; the radex value already entered by user
mov ah,0
mul dx
mov dx,ax; multiplies the radex by the number entered so far to shift it 1 dig.
mov al,saveal
cmp al,65
jge big2
sub al,30h; taking decimal value of the character
cont2:
call checkerror
mov ah,0
add dx,ax; adding the digit to the number read so far
loop R
toret:
ret
endp
谢谢娜塔莉