
这段汇编代码老是提示出错帮我看看错在哪
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 展开
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 展开
1个回答
展开全部
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“的。
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“的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询