从键盘输入1-3中任意一个数,在屏幕分别显示10K20K30K如果输入其他字符,则显示*汇编语言编写
时间: 2024-12-13 14:18:20 浏览: 15
在汇编语言中,你可以使用INT 21H系统调用来处理用户输入,并检查输入是否符合条件。以下是一个简单的示例,使用8086/8088架构的MS-DOS汇编(如MASM):
```assembly
section .data
prompt db '请输入1-3中的数字:', 0Ah, '$'
error db '无效输入!', 0Ah, '$'
output_1 db '10K', 0Ah, '$'
output_2 db '20K', 0Ah, '$'
output_3 db '30K', 0Ah, '$'
section .bss
input resb 1
result db ?
section .text
global _start
_start:
; 显示提示信息并读取用户的输入
mov ah, 09h
lea dx, prompt
int 21h
mov ah, 01h ; BIOS读取键入的第一个字符
int 21h ; 存储在input变量中
stosb ; 将字符保存到内存
; 检查输入并输出相应的字符串
cmp al, '1'
je display_1
cmp al, '2'
je display_2
cmp al, '3'
je display_3
jmp invalid_input
display_1:
mov dl, output_1
call print_string
jmp exit_program
display_2:
mov dl, output_2
call print_string
jmp exit_program
display_3:
mov dl, output_3
call print_string
jmp exit_program
invalid_input:
mov dl, error
call print_string
jmp exit_program
print_string:
; 打印一个字符串,假设结果已经存放在dl中
mov ah, 09h
int 21h
exit_program:
mov eax, 4Ch ; 调用操作系统结束程序
xor ah, ah ; 使用正常的退出代码
int 21h
; 结束部分省略...
```
这个程序首先提示用户输入,然后读取用户输入的字符并与预设的数字比较。如果输入匹配,它会调用`print_string`函数显示对应的字符串;如果不匹配,则显示错误消息。注意这只是一个基本的示例,实际代码可能需要添加错误处理和其他细节。
阅读全文
相关推荐














