amd64 MOV指令无法正确复制

时间:2019-01-24 05:14:33

标签: assembly x86-64 yasm

我不知道发生了什么奇怪的事情。

我有一个数据变量:

variable_a dq 0

我检查它为0:

(gdb) x variable_a 
0x0:    Cannot access memory at address 0x0

到目前为止很好。

我有rax:

(gdb) i r
rax            0x7fffffffe9e2   140737488349666

我将MOV rax转换为变量。

mov [variable_a], rax

我打印变量。

(gdb) x variable_a 
0xffffffffffffe9e2:     <error: Cannot access memory at address 0xffffffffffffe9e2>

为什么会这样?看起来应该将变量的1/4设置为1s应该是0s。

我改为使用BSS变量,它工作得很好。 我正在使用YASM。

0 个答案:

没有答案