инструкция amd64 MOV не копируется должным образом - PullRequest
0 голосов
/ 24 января 2019

Происходит что-то странное, я не понимаю.

У меня есть переменная данных:

variable_a dq 0

Я проверяю, что это 0:

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

Такпока все хорошо.

У меня есть rax:

(gdb) i r
rax            0x7fffffffe9e2   140737488349666

I MOV rax в переменную.

mov [variable_a], rax

Я печатаю переменную.

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

Почему это происходит?Похоже, 1/4 переменной устанавливается в 1 с, когда она должна быть 0 с.

Я перешел на использование переменной BSS, и она работает просто отлично.Я использую YASM.

...