用汇编语言编写程序,从键盘接收一个字符,若该字符是大写字母显示"upper"若是小写字母显示"lower"
答案:2 悬赏:30
解决时间 2021-03-15 22:58
- 提问者网友:说不出醉人情话
- 2021-03-15 19:59
都不是显示"on"
最佳答案
- 二级知识专家网友:厌今念往
- 2021-03-15 20:25
;------------------------------------
PRINT MACRO PARA ; 定义一个显示字符串的宏
LEA DX, PARA
MOV AH, 9
INT 21H
ENDM
;------------------------------------
DSEG SEGMENT
MSG_LOWER DB ' lower', 0DH, 0AH, 24H
MSG_UPPER DB ' upper', 0DH, 0AH, 24H
MSG_NO DB ' no', 0DH, 0AH, 24H
MSG1 DB 'please press a key (press [esc] key to end program): $'
DSEG ENDS
;------------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START:
MOV AX, DSEG
MOV DS, AX
;------------------------
LB_1:
PRINT MSG1 ;显示提示信息
MOV AH, 1
INT 21H ;输入一个字符
CMP AL, 1BH ;是[esc]?
JZ EXIT
CMP AL, 'A' ;小于'A'?
JB LB_NO
CMP AL, 'z' ;大于'z'?
JA LB_NO
CMP AL, 'Z' ;小于等于'Z'?
JBE UUU
CMP AL, 'a' ;小于'a'?
JB LB_NO
;------------------
PRINT MSG_LOWER
JMP LB_1
UUU:
PRINT MSG_UPPER
JMP LB_1
LB_NO:
PRINT MSG_NO
JMP LB_1
;------------------------
EXIT:
MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
PRINT MACRO PARA ; 定义一个显示字符串的宏
LEA DX, PARA
MOV AH, 9
INT 21H
ENDM
;------------------------------------
DSEG SEGMENT
MSG_LOWER DB ' lower', 0DH, 0AH, 24H
MSG_UPPER DB ' upper', 0DH, 0AH, 24H
MSG_NO DB ' no', 0DH, 0AH, 24H
MSG1 DB 'please press a key (press [esc] key to end program): $'
DSEG ENDS
;------------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
START:
MOV AX, DSEG
MOV DS, AX
;------------------------
LB_1:
PRINT MSG1 ;显示提示信息
MOV AH, 1
INT 21H ;输入一个字符
CMP AL, 1BH ;是[esc]?
JZ EXIT
CMP AL, 'A' ;小于'A'?
JB LB_NO
CMP AL, 'z' ;大于'z'?
JA LB_NO
CMP AL, 'Z' ;小于等于'Z'?
JBE UUU
CMP AL, 'a' ;小于'a'?
JB LB_NO
;------------------
PRINT MSG_LOWER
JMP LB_1
UUU:
PRINT MSG_UPPER
JMP LB_1
LB_NO:
PRINT MSG_NO
JMP LB_1
;------------------------
EXIT:
MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
全部回答
- 1楼网友:啵啵桃汀
- 2021-03-15 21:12
你好!
这个问很有水平
如有疑问,请追问。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯