我正在开发一个汇编程序,它将接受用户输入并根据变量进行检查,但由于某种原因,此代码将始终说密码输入不正确。请注意,我没有包含一些调用的代码,但我确信它们确实有效,因为我在许多其他示例中都完美地使用了它们。基本上,我需要知道为什么这会拒绝认识我的输入和字符串匹配。非常感谢任何帮助。
start:
mov ax, login_input
mov bx, login_message
call os_input_dialog ;opens a dialog box that shows the string login_message,
;then it takes user input andd stores it in ax
mov si, login_input
mov di, password
cmp si, di ;compares input against the password
je app_selector ;if equal, jump to the next part of code
jmp start ;otherwise try again
login_input times 12 db 0
login_message db 'Password: '
password db 'root'
答案 0 :(得分:5)
你甚至没有比较字符串,你正在比较字符串的基地址,它永远不会相等。您需要比较每个字符串的每个元素,以了解它们是否相等。