我在代码段中定义了变量,如下所示:
.data
msg db "Enter a string: $"
buff db 20, ?, 20 dup(?)
newline db 13, 10, "$"
promptmsg db "You have entered: $"
strlen db ?
msgreverse db ?
palinmsg db "Palindrome$"
notpalinmsg db "Not palindrome$"
reverseprompt db "The reverse of the string is: $"
我正在尝试比较字符串是否是回文。通过这些比较和跳转声明。
cmp bx, dx
je palin
jne notpalin
palin:
lea dx, palinmsg
mov ah, 9h
int 21h
jmp exit
notpalin:
lea dx, notpalinmsg
mov ah, 9h
int 21h
jmp exit
exit:
mov ax, 4c00h
int 21h
我确定检查字符串是否是回文没有问题,我的问题是每当字符串是回文时,它不会输出我在数据段中定义的palinmsg,但它输出内容msgreverse位于数据段声明中的palinmsg顶部。这是为什么?