汇编语言:分支程序设计从键盘输入一个十进制正整数 N(10≤N≤99),将其转换成为十六进制数,转换的结果显示在屏幕上。(键盘输入的内容都是 ASCII 的形式)
时间: 2023-06-17 14:02:55 浏览: 133
以下是汇编语言实现分支程序设计的代码,可以实现从键盘输入一个十进制正整数 N(10≤N≤99),将其转换成为十六进制数,转换的结果显示在屏幕上。
```
.MODEL SMALL
.STACK 100H
.DATA
MSG1 DB 'Please enter a decimal positive integer (10-99): $'
MSG2 DB 'The hexadecimal number is: $'
N DB 2 DUP ('$')
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; 显示提示信息
LEA DX, MSG1
MOV AH, 09H
INT 21H
; 读取用户输入
MOV AH, 01H
INT 21H
MOV BL, AL ; BL 保存十位数
MOV AH, 01H
INT 21H
MOV BH, AL ; BH 保存个位数
; 十六进制转换
MOV AL, BL
AND AL, 0FH ; 取出十位数的低四位
CMP AL, 0AH ; 判断是否需要转换成字母
JB HEX1 ; 不需要转换
ADD AL, 07H ; 转换成字母
HEX1:
ADD AL, 30H ; 转换成 ASCII 码
MOV N+1, AL ; 保存十六进制数的十位
MOV AL, BH
AND AL, 0FH ; 取出个位数的低四位
CMP AL, 0AH ; 判断是否需要转换成字母
JB HEX2 ; 不需要转换
ADD AL, 07H ; 转换成字母
HEX2:
ADD AL, 30H ; 转换成 ASCII 码
MOV N+2, AL ; 保存十六进制数的个位
; 显示转换结果
LEA DX, MSG2
MOV AH, 09H
INT 21H
LEA DX, N+1
MOV AH, 09H
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
```
程序首先显示提示信息,要求用户输入一个十进制正整数。然后使用 `INT 21H` 中断读取用户输入,并将十位数保存在 BL 中,个位数保存在 BH 中。接下来进行十六进制转换,将十位数和个位数分别转换成十六进制数的十位和个位,保存在 N 数组中。最后显示转换结果,程序结束。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)