Программа, которую я написал, очень проста. Вы должны ввести число, и компьютер проверит, является ли это число «6». Таким образом, угадывая число в основном.
Тестируя программу, я обнаружил, что произошла ошибка сегментации. Ошибка была исправлена, и программа теперь работает нормально. Но я не очень понимаю, почему. Около 10 минут поиска в Google и ничего не произошло, поэтому я решил спросить здесь.
Следующий фрагмент кода вызвал ошибку (в разделе данных)
guessnum equ 6
И после этого это:
guessnum db '6'
Код сработал!
Вот блок сравнения, если он имеет значение:
xor al, al ; clearing the al reg
mov al, [num] ; moving the value that num points to into al reg
cmp al, [guessnum] ; the actual compare
jz success ; jumping to the successful guess label if the user guessed right
Спасибо.
(Я нахожусь под Linux, если это помогает.)