基于wmd86软件运用8086汇编语言实现获取用户输入,并根据用户输入的内容显示不同内容。其中,用户输入’1’时显示数字0~9,输入’2’时显示202100171081,其他输入时程序退出。
时间: 2024-05-14 22:12:05 浏览: 237
编写一个程序接受用户输入的字符。如果输入的字符是0-9数字中的一个,则显示“您输入了一个数字”,否则显示“这不是一个数字”。
实现思路:
1. 使用int 21h中断获取用户输入的字符。
2. 判断用户输入的字符是否为’1’或’2’,如果是则显示相应的内容,否则退出程序。
3. 如果用户输入的是’1’,则使用循环依次显示数字0~9,每次显示完毕后暂停一段时间以便用户观察。
4. 如果用户输入的是’2’,则直接显示202100171081。
5. 程序结束后,使用int 20h中断退出程序。
代码实现如下:
```
.model small
.stack 100h
.data
msg1 db 'Please enter 1 or 2: $'
msg2 db '0123456789$'
msg3 db '202100171081$'
newline db 0Ah, 0Dh, '$'
char db ?
.code
start:
mov ax, @data
mov ds, ax
;显示提示信息
mov ah, 9
lea dx, msg1
int 21h
;获取用户输入的字符
mov ah, 1
int 21h
mov char, al
;判断用户输入的字符
cmp char, '1'
je display_numbers
cmp char, '2'
je display_msg3
jmp exit_program
display_numbers:
mov cx, 10 ;循环10次
lea si, msg2 ;加载字符串地址
.loop:
mov ah, 2 ;显示字符
mov dl, [si]
int 21h
inc si
loop .loop ;循环结束
jmp exit_program
display_msg3:
lea dx, msg3 ;加载字符串地址
mov ah, 9 ;显示字符串
int 21h
jmp exit_program
exit_program:
mov ah, 4Ch ;程序退出
xor al, al
int 21h
end start
```
阅读全文