使用AsmJit获取寄存器的变量值

时间:2014-05-28 17:20:36

标签: assembly asmjit

如何使用AsmJit API为寄存器获取变量值?有点像下面的东西吗?

int x = 234;
Assember a;
a.mov(rax, $value_of_x);

1 个答案:

答案 0 :(得分:2)

AsmJit支持即时操作数,您只需要:

using namespace asmjit;

// Create and configure X86Assembler:
X86Assembler a(...);

// The answer:
int x = 234;
a.mov(x86::rax, x);

或只是

a.mov(x86::rax, 234);

前面的示例使用了直接接受立即值的函数重载。但是,也可以创建Imm操作数并在代码中动态使用它:

Imm x = imm(234);
a.mov(x86::rax, x);

或者:

a.mov(x86::rax, imm(x));