用8086汇编程序完成:把寄存器内的十六进制数字转换为十进制输出
时间: 2023-04-02 10:03:01 浏览: 244
你好,这个问题我可以回答。以下是8086汇编程序的代码:
MOV AH, 00H ;将寄存器AH清零
MOV AL, [NUM] ;将NUM的值存入AL
MOV BL, 10 ;将10存入BL
MOV CL, 00H ;将CL清零
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AL, AH ;将商存入AL
DIV BL ;将AL除以BL,商存入AH,余数存入AL
ADD CL, AL ;将余数加入CL
MOV AH, 02H ;将AH置为02H,表示输出字符
MOV DL, '' ;将字符''存入DL
ADD CL, DL ;将CL加上字符''
INT 21H ;调用21H中断,输出字符
MOV AH, 4CH ;将AH置为4CH,表示程序结束
INT 21H ;调用21H中断,结束程序
其中,NUM为存储十六进制数字的寄存器。程序将NUM的值逐位除以10,将余数加起来,最终得到的结果就是十进制数。程序输出的是字符形式的十进制数,需要注意的是,输出的字符是ASCII码,需要加上字符''才能得到正确的结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)