汇编程序:从键盘输入一个字符,如果是大写字母转换成小写字母,如果是小写字母转换成大写字母,显示在屏幕上。
时间: 2024-06-08 16:05:39 浏览: 156
下面是一个 x86 汇编实现的示例程序,使用 int 21h 调用 DOS 中断实现输入和输出操作:
```assembly
.model small
.stack 100h
.data
prompt db 0ah, 0dh, 'Enter a character: $'
error db 0ah, 0dh, 'Invalid input!$'
newline db 0ah, 0dh, '$'
.code
main proc
mov ax, @data
mov ds, ax
; 显示提示信息
mov ah, 9
lea dx, prompt
int 21h
; 读取一个字符
mov ah, 1
int 21h
; 判断是否为字母
cmp al, 'A'
jb invalid_input ; 不是字母
cmp al, 'Z'
jbe uppercase ; 大写字母
cmp al, 'a'
jb invalid_input ; 不是字母
cmp al, 'z'
ja invalid_input ; 不是字母
jmp lowercase ; 小写字母
uppercase:
; 转换为小写字母
add al, 32
jmp display
lowercase:
; 转换为大写字母
sub al, 32
jmp display
invalid_input:
; 显示错误信息
mov ah, 9
lea dx, error
int 21h
jmp exit
display:
; 显示字符
mov ah, 2
mov dl, al
int 21h
; 显示换行符
lea dx, newline
int 21h
exit:
mov ah, 4ch
int 21h
main endp
end main
```
该程序首先显示提示信息,然后读取一个字符。接着,使用 cmp 指令判断该字符是否为字母。如果不是字母,显示错误信息并退出程序;如果是大写字母,将其转换为小写字母;如果是小写字母,将其转换为大写字母。最后,显示转换后的字符和换行符,并退出程序。
阅读全文