用8086汇编程序完成:把寄存器内的十六进制数字转换为十进制输出
时间: 2024-05-03 09:19:30 浏览: 105
将16进制转10进制的汇编程序
5星 · 资源好评率100%
下面是一个简单的8086汇编程序,可以将寄存器AL中的十六进制数字转换为十进制并输出到屏幕上:
```
ORG 100h
MOV AH, 0 ; 设置显示模式
MOV AL, 0x34 ; 要转换的十六进制数字
MOV BL, 10 ; 除数,即十进制基数
START:
XOR AH, AH ; 清空高8位
DIV BL ; AL除以BL,余数保存在AH中
ADD AH, 0x30 ; 将余数转换为ASCII码
MOV DL, AH ; 保存余数
MOV AH, 2 ; 调用DOS中断显示字符
INT 21h ; 显示余数
CMP AL, 0 ; 判断是否除尽了
JNE START ; 如果没有除尽,继续循环
MOV AH, 4Ch ; 调用DOS中断退出程序
INT 21h
```
程序的思路是将十六进制数字不断除以10,然后将余数转换为ASCII码并输出,直到除尽为止。需要注意的是,因为除法操作会改变AH和AL中的值,所以在每一次循环开始前都要将AH清空。
阅读全文