带EQU的分段错误,DB没有错误?

时间:2018-08-31 23:03:17

标签: assembly x86 segmentation-fault nasm

我编写的程序非常简单。您必须输入一个数字,然后计算机会检查它是否为数字“ 6”。所以基本上猜数字。

测试程序后,我发现存在分段错误。故障已修复,程序现在可以正常工作。但是我真的不明白为什么。大约10分钟的谷歌搜索,什么都没发现,所以我决定在这里问。

以下代码段是导致段错误的代码段(在部分数据中)

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下使用。)

0 个答案:

没有答案