用汇编语言编写一个程序。 5

用汇编语言编写一个程序。从键盘接收一个字符,小写转换为大写,若不是小写则显示“pleaseenteralowercaseletter”... 用汇编语言编写一个程序。从键盘接收一个字符,小写转换为大写,若不是小写则显示“please enter a lowercase letter” 展开
 我来答
百度网友cecb168
2013-05-02 · 超过10用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:26.6万
展开全部
;------------------------------------
PRINT MACRO PARA ; 定义一个显示字符串的宏
LEA DX, PARA
MOV AH, 9
INT 21H
ENDM
;------------------------------------
DSEG SEGMENT
MSG_LOWER DB ' lower', 0DH, 0AH, 24H
MSG_UPPER DB ' please enter a lowercase letter', 0DH, 0AH, 24H
MSG_ENTER DB 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:
ADD AL,20h
mov dl,AL
mov ah,2
int 21h
PRINT MSG_ENTER
JMP LB_1
LB_NO:
PRINT MSG_NO
JMP LB_1
;------------------------
EXIT:
MOV AX, 4C00H
INT 21H
CSEG ENDS
END START
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里寻你我他
2013-05-03 · TA获得超过2200个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1329万
展开全部
1楼那个代码是可以,但是其实可以更简单,

小写字母内码范围是61h-7ah
大写字母内码范围是41h-5ah

那么只要比较输入的字符内码是否在61h-7ah之间
如果是,则将其减去20h,就是大写字母了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式