Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用AsmJit引用全局变量_C++_Assembly_Inline Assembly_Asmjit - Fatal编程技术网

C++ 使用AsmJit引用全局变量

C++ 使用AsmJit引用全局变量,c++,assembly,inline-assembly,asmjit,C++,Assembly,Inline Assembly,Asmjit,我需要使用lea操作将现有全局变量/外部变量的地址加载到寄存器。这在AsmJit中可能吗?相关的ptr函数似乎只接受需要在AsmJit中创建的GpVar。有多种方法可以做到这一点。最便携和推荐的方法是使用mov reg、imm: 或lea reg,具有绝对地址[mem]形式的mem。此解决方案仅在32位模式下按预期工作;绝对地址大小始终被截断为32位: c.lea(var, ptr_abs(p)); c.lea(var, ptr_abs(p));

我需要使用lea操作将现有全局变量/外部变量的地址加载到寄存器。这在AsmJit中可能吗?相关的ptr函数似乎只接受需要在AsmJit中创建的GpVar。

有多种方法可以做到这一点。最便携和推荐的方法是使用mov reg、imm:

或lea reg,具有绝对地址[mem]形式的mem。此解决方案仅在32位模式下按预期工作;绝对地址大小始终被截断为32位:

c.lea(var, ptr_abs(p));
c.lea(var, ptr_abs(p));