Я пытаюсь выполнить простую проверку пароля в nasm, но моя программа никогда не переходит на correct_func
, но пароль правильный. Я что-то не так делаю?
section .data
msg1: db "Enter your password: ", 0
len1 equ $-msg1
correct: db "Correct!", 0x0a
lenc equ $-correct
wrong: db "Wrong!", 0x0a
lenw equ $-wrong
passwd: db "ASD123"
input
section .text
global _start
correct_func:
mov rax, 0x1
mov rdi, 1
mov rsi, correct
mov rdx, lenc
syscall
mov rax, 60
mov rdi, 0
syscall
ret
_start:
mov rax, 0x1
mov rdi, 1
mov rsi, msg1
mov rdx, len1
syscall
mov rax, 0x0
mov rdi, 0
mov rsi, input
mov rdx, 6
syscall
mov rax, passwd
mov rbx, input
cmp rax, rbx
je correct_func
mov rax, 0x1
mov rdi, 1
mov rsi, wrong
mov rdx, lenw
syscall
mov rax, 60
mov rdi, 0
syscall