用汇编语言写出一个输入大写字母转化为小写,输入小写不变的程序
时间: 2023-06-08 15:04:16 浏览: 145
以下是一个汇编程序示例,可以将输入的大写字母转换为小写,输入的小写字母不做任何改变:
```
.model small
.stack 100h
.data
char_msg db "请输入一个字符:$"
output_msg db "对应的小写字母为:$"
buffer db 10, 0
char_input db ?
char_output db ?
.code
main proc
; 初始化段寄存器和数据寄存器
mov ax, @data
mov ds, ax
; 输出提示信息
mov ah, 9
lea dx, char_msg
int 21h
; 读取一个字符到 char_input
mov ah, 1
int 21h
mov char_input, al
; 判断该字符是否为大写字母
cmp char_input, 41h
jl end_prog
cmp char_input, 5Ah
jg end_prog
; 如果是大写字母,则将其转化为小写字母
add char_input, 20h
mov char_output, char_input
; 输出转换后的小写字母
mov ah, 9
lea dx, output_msg
int 21h
mov ah, 2
mov dl, char_output
int 21h
end_prog:
; 程序结束
mov ah, 4ch
int 21h
main endp
end main
```
该程序使用 INT 21h 中断来实现字符的输入和输出。char_input 和 char_output 分别存储输入的字符和转换后的字符。如果输入的字符是大写字母,则将其 ASCII 码值加上 20h(十六进制),即可以得到对应的小写字母的 ASCII 码值。最后使用 INT 21h 中断输出转换后的小写字母。如果输入的字符不是大写字母,则程序会跳到 end_prog 标签处结束。
阅读全文