编写汇编语言程序,要求对键盘输入的大写字母用对应的小写字母显示出来,非大写字母不显示。

2025-03-10 05:08:39
推荐回答(1个)
回答1:

DATA SEGMENT
MESSAGE1 DB 'PLEASE INPUT: ',13, 10, '$'
MESSAGE2 DB 13, 10, 'NON CHAR $'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;--------------------------------
MOV DX, OFFSET MESSAGE1
MOV AH, 9 ;显示提示
INT 21H
;--------------------------------
MOV BX, 0
LP1:
MOV AH, 7 ;
INT 21H
CMP AL, 13
JZ LP2
MOV DL, AL
CMP DL, 'A'
JB LP1
CMP DL, 'Z'
JA LP1
MOV AH, 2
ADD DL, 32 ;变为小写
INT 21H ;显示
INC BX
JMP LP1 ;继续输入
LP2:
CMP BX, 0
JNZ EXIT

MOV DX, OFFSET MESSAGE2
MOV AH, 9 ;显示NON
INT 21H
;--------------------------------
EXIT:

MOV AH, 4CH ;结束程序
INT 21H

CODE ENDS
END START