Ошибка сегментации с EQU и нет ошибок с БД? - PullRequest
0 голосов
/ 01 сентября 2018

Программа, которую я написал, очень проста. Вы должны ввести число, и компьютер проверит, является ли это число «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, если это помогает.)

...