DATA SEGMENT
VALUE1 DB 54H
VALUE2 DB 52H
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA
MOV AX,DX
MOV DS,AX
MOV AL,VALUE1
MOV BL,VALUE2
CMP AL,BL
JE A1
JNE NOT_EQUAL
NOT_EQUAL: MOV AH,02H
MOV DX,OFFSET 'N'
INT 21H
A1:MOV AH,02H
MOV DX,OFFSET 'Y'
INT 21H
CODE ENDS
现在这个程序将比较52和54,如果不相等则返回N,如果相等则返回Y.但它正在回归纽约。任何人都可以帮忙吗?我究竟做错了什么?如果相等,它应该使用JE跳转,如果不相等则使用JNE。
答案 0 :(得分:1)
您正从NOT_EQUAL
案件落到A1
案件中。如果您只希望其中一个案例发生在每个案例中,则需要在A1
结束时跳至NOT_EQUAL
之后。
答案 1 :(得分:-2)
好的,在@Chris Pitnam的帮助下,我将代码修改为: - 现在它可以工作了。谢谢
DATA SEGMENT
VALUE1 DB 54H
VALUE2 DB 52H
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA
MOV AX,DX
MOV DS,AX
MOV AL,VALUE1
MOV BL,VALUE2
CMP AL,BL
JE A1
JNE NOT_EQUAL
NOT_EQUAL:
MOV AH,02H
MOV DX,OFFSET 'N'
INT 21H
JMP END1
A1:
MOV AH,02H
MOV DX,OFFSET 'Y'
INT 21H
END1:
MOV AH,4CH
MOV AL,00
INT 21H
CODE ENDS