试编写一个汇编程序,能对键盘输入的小写字母用大写字母显示出来(要求采用子程序格式,即采用子程序完成将小写字母转化成大写字母)。
时间: 2024-05-06 11:20:15 浏览: 102
用汇编语言试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。
这是一道比较基础的汇编题目,下面是可能的解答:
```
.MODEL SMALL
.STACK 100H
.DATA
msg1 DB "Enter a lowercase letter: $"
msg2 DB "The uppercase letter is: $"
input DB ?
output DB ?
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; display prompt message
MOV AH, 9
MOV DX, OFFSET msg1
INT 21H
; read input character
MOV AH, 1
INT 21H
MOV BL, AL ; save original character
; convert to uppercase
MOV AL, input
CALL CONVERT
; display output character
MOV AH, 9
MOV DX, OFFSET msg2
INT 21H
MOV DL, output
INT 21H
; terminate program
MOV AH, 4CH
INT 21H
MAIN ENDP
CONVERT PROC
CMP AL, 'a'
JB DONE
CMP AL, 'z'
JA DONE
SUB AL, 20H
DONE:
MOV output, AL
RET
CONVERT ENDP
END MAIN
```
这个程序采用了一个名为 `CONVERT` 的子程序来将小写字母转化成大写字母。子程序首先检查输入字符是否在小写字母的范围内,如果是,则将 ASCII 码增加 20H,即将其转化成对应的大写字母;否则直接返回原始字符。主程序则调用该子程序并将转化后的输出字符显示出来。
阅读全文