程序集登录程序始终返回错误的密码

时间:2013-10-28 12:00:47

标签: assembly login x86 compare

我正在开发一个汇编程序,它将接受用户输入并根据变量进行检查,但由于某种原因,此代码将始终说密码输入不正确。请注意,我没有包含一些调用的代码,但我确信它们确实有效,因为我在许多其他示例中都完美地使用了它们。基本上,我需要知道为什么这会拒绝认识我的输入和字符串匹配。非常感谢任何帮助。

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'

1 个答案:

答案 0 :(得分:5)

你甚至没有比较字符串,你正在比较字符串的基地址,它永远不会相等。您需要比较每个字符串的每个元素,以了解它们是否相等。