我正在用汇编语言x8086环境制作程序。根据我和所有可能的逻辑,我的代码很好,但是我不知道为什么它不断向我显示“不是回文”。 如果有人可以指导我我的代码有什么问题,我将不胜感激。
代码:
.MODEL SMALL
.STACK 64H
.DATA
STRING DB ?
MSG1 DB 'PALINDROME$'
MSG2 DB 'NOT PALINDROME$'
MSG3 DB 'ENTER STRING: $'
NEW DB 0AH,0DH
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,9
LEA DX,MSG3
INT 21H
MOV BX,OFFSET STRING
INPUT:
MOV AH,1
INT 21H
CMP AL,13
JE FIND_PALINDROME
MOV [BX],AL
INC BX
JMP INPUT
FIND_PALINDROME:
MOV DI,OFFSET STRING
MOV CX,4
CHECK:
MOV DX,[BX]
CMP [DI],DX
JNE EXIT
INC DI
DEC BX
LOOP CHECK
MOV AH,9
LEA DX,MSG1
INT 21H
JMP EXIT_ALL
EXIT:
MOV AH,9
LEA DX,MSG2
INT 21H
EXIT_ALL:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN