x86 64汇编

use*_*219 2 assembly x86-64

我正在编写一个自修改代码.

movq      $TARGET_CIA, 0x550(%rax)
Run Code Online (Sandbox Code Playgroud)

此符号TARGET_CIA最初未定义,在运行时我尝试将64位立即值复制到此位置.但是在编译时,该指令将此未定义立即值的值取为32位,当我尝试复制64位时,我看到有符号扩展的32位.有没有办法让这个未定义的符号被视为64位值?

Gun*_*iez 12

你需要

movabs $0x1234567890abcdef, 0x550(%rax)
Run Code Online (Sandbox Code Playgroud)

64位立即需要movabs指令.