汇编语言程序出错了,在线等 下面程序中连个cmp行出现了错误

DATASEGMENT;定义源数据段,数据段名称为DATAMSRDB"PLEASEINPUTDATA:$"DATAENDSCODESEGMENT;定义代码段,代码段名称为... DATA SEGMENT ;定义源数据段,数据段名称为DATA
MSR DB "PLEASE INPUT DATA:$"
DATA ENDS
CODE SEGMENT ;定义代码段, 代码段名称为CODE
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA ;装载数据段
MOV DS,AX
MOV AH,09H ;显示提示信息PLEASE INPUT DATA:
MOV DX,OFFSET MSR
INT 21H
MOV AH,01H ;从键盘输入一个数据,该数据保存在AL中
INT 21H
MOV BL,AL ;将AL寄存器的数值存放到BL寄存器中
CMP BL,'7AH' ;小于5跳到NO去执行
JB NO
CMP BL,'61H' ;大于9跳到NO执行
JA NO
MOV AH,02H ;输出回车符号
MOV DL,0Dh
INT 21H
MOV AH,02H ;输出换行符号
MOV DL,0Ah
INT 21H
MOV AH,02H ;输出大写字母Y
MOV DL,'Y'
INT 21H
JMP TUICHU
NO:MOV AH,02H ;输出回车符号
MOV DL,0Dh
INT 21H
MOV AH,02H ;输出换行符号
MOV DL,0Ah
INT 21H
MOV AH,02H ;输出大写字母N
MOV DL,'N'
INT 21H
TUICHU: MOV AH,4CH ;返回DOS状态,固定结构
INT 21H
CODE ENDS
END START
CMP BL,'7AH'

CMP BL,'61H' 就是这俩行提示错误,题目的意思是输入一个字母判断是大写就显示Y,小写就显示N 程序里面注解是另外个程序的,我在那个程序基础上改的
展开
 我来答
做而论道
高能答主

2012-05-11 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8419万
展开全部
CMP BL,'61H' 是错误的。

可以使用:CMP BL, 61H ;
或者使用:CMP BL, 'a' 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huanghe123321
2012-05-10 · TA获得超过159个赞
知道答主
回答量:235
采纳率:0%
帮助的人:178万
展开全部
CMP OPR1 , OPR2 不能放立即数 把立即数放到寄存器里再cmp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猫与猪的世界
2012-05-10 · TA获得超过606个赞
知道小有建树答主
回答量:970
采纳率:0%
帮助的人:450万
展开全部
是不是要清空标志寄存器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9045b38
2012-05-10 · TA获得超过1972个赞
知道小有建树答主
回答量:984
采纳率:90%
帮助的人:548万
展开全部
将CMP后面数字的引号去掉就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式