0

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

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'
4

1 回答 1

5

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

于 2013-10-28T12:12:36.500 回答