这段汇编代码老是提示出错帮我看看错在哪

DATASEGMENTADW1234HBDW5678HSDB'NOSWAP!$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART... DATA SEGMENT
A DW 1234H
B DW 5678H
S DB 'NO SWAP! $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,1
INT 21H
CMP AL,'Y'
JNZ M
CMP AL,'y'
M
MOV AX,A
XCHG AX,B
MOV A,AX
JMP N
M:MOV AH,9
LEA DX,S
INT 21H
N:MOV AH,4CH
INT 21H
CODE ENDS
END START
展开
 我来答
烛秋
2009-11-06 · TA获得超过349个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:90.9万
展开全部
DATA SEGMENT
A DW 1234H
B DW 5678H
S DB 'NO SWAP! $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,1
INT 21H
test AL,86H;主要是改成这样子
JNZ M
MOV AX,A
XCHG AX,B
MOV A,AX
JMP N
M:MOV AH,9
LEA DX,S
INT 21H
N:MOV AH,4CH
INT 21H
CODE ENDS
END START
代码本身有错误,不光是中间的‘M’有错,
程序的本意应该是按下y或Y就交换A、B中的数据,但是按照源程序的思路,按下y是会提示”NO SWAP“的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式