汇编代码 汇编语言从键盘输入10个无符号十进制数(小于256),将其转换为二进制数并存放在NUM字节型变量中,找出其中的最大数,并在屏幕上显示出来。
时间: 2023-12-20 10:07:04 浏览: 176
汇编语言之 两个多位十进制数相加
以下是一份汇编代码,可以实现这个功能:
```
.MODEL SMALL
.STACK 100H
.DATA
NUM DB 10 DUP(0)
MAX DB 0
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; 从键盘输入10个数字
MOV CX, 10
MOV SI, 0
INPUT_LOOP:
MOV AH, 01H ; 读取键盘输入
INT 21H
SUB AL, 30H ; 将字符转换为数字
MOV [NUM+SI], AL ; 将数字保存到NUM数组中
INC SI
LOOP INPUT_LOOP
; 查找最大值
MOV CX, 10
MOV SI, 0
MAX_LOOP:
MOV AL, [NUM+SI] ; 从数组中读取数字
CMP AL, [MAX] ; 比较大小
JLE NOT_MAX ; 如果比MAX小,跳过
MOV [MAX], AL ; 更新MAX的值
NOT_MAX:
INC SI
LOOP MAX_LOOP
; 显示最大值
MOV DL, [MAX] ; 将最大值保存到DL寄存器中
ADD DL, 30H ; 将数字转换为字符
MOV AH, 02H ; 显示字符
INT 21H
MOV AH, 4CH ; 退出程序
INT 21H
MAIN ENDP
END MAIN
```
这段代码使用了中断 21H 来从键盘读取输入和显示输出。它首先从键盘输入 10 个数字,并将它们保存在 `NUM` 数组中。然后,它遍历整个数组来找到最大值,并将其保存在 `MAX` 变量中。最后,它将最大值转换为字符,并将其显示在屏幕上。
阅读全文