如何使用汇编语言将16进制转化为10进制

2024-11-30 11:03:36
推荐回答(1个)
回答1:

假设AX=59H BX=0(16进制数)——(10进制=89)
这个程序最好写个子程序.
loop:
mov a,AX
sub a,1
mov AX,A
mov a,BX ;减C标志
Sbc a,0h
mov BX,A
snz c 判断BX带标志-0是否借位 借位就跳出循环 不借位就进行+1 daa模式
jmp END
mov a,1 ;减得断表示16进制的数还不=0 所以继续加1 如果需要3个寄存器放数据的
add a,al ;后面加写寄存器和BL的ADC模式一样
daa al 十进制转换;
mov a,0
adc a,bl ; 带C标志加
daa bl 十进制转换;
jmp loop
END :
ret