我正在玩asmjit并生成程序集。 因此,我注意到不能将 64 位常量用于指令(不包括有意义的mov )。 因此,我将 64 位常量压入堆栈并通过访问堆栈而不是将常量用作操作数来使用它们。 不同的资源说,可以使用 memory 作为and指令的操作数(例如[1] , [2] )。 但是,我注意到a ...
我正在玩asmjit并生成程序集。 因此,我注意到不能将 64 位常量用于指令(不包括有意义的mov )。 因此,我将 64 位常量压入堆栈并通过访问堆栈而不是将常量用作操作数来使用它们。 不同的资源说,可以使用 memory 作为and指令的操作数(例如[1] , [2] )。 但是,我注意到a ...
我在 memory 的某个地址有一个浮点值,我想使用该地址将 XMM 寄存器设置为该值。 我正在使用asmjit 。 此代码适用于 32 位构建并将 XMM 寄存器v设置为正确的值*f : 但是,当我以 64 位编译时,尝试使用寄存器时会出现段错误。 这是为什么? (是的,我在组装方面不是很强大. ...
我想使用 asmjit 发出绝对远距离跳跃。 此跳转的字节: 但我不知道如何发出jmp qword ptr [*]后有 0 个偏移量和原始地址字节。 有人能帮我吗? 提前致谢! UPD:我知道如何发出jmp qword ptr [*] 。 但是我怎样才能发出原始地址字节呢? ...
我想试试AsmJit 库。 用'cmake'和'make'从源代码构建它是没有问题的,它提供的例子都被完美地编译和执行。 我也做了make install来导出依赖文件。 然后我想使用这个库编译我自己的程序,所以我检索了生成的文件(头文件和 static 库),将它们添加到一个新项目中,其代码是库 ...
我是asmjit的新手(对于C ++还是有些新手),现在我正试图让asmjit在我的C ++项目中正常工作。 我正在将Windows计算机与Visual Studio 17和C ++ 17一起使用,并且我第一次尝试使用cmake已经可以正常工作。 但是,我宁愿按照此处的建议将asmjit ...
操作系统:Windows 10 IDE:Visual Studio 2015 我需要在 Qt GUI 应用程序中使用 AsmJit 库 ( https://github.com/asmjit/asmjit )。 但在某种程度上是不兼容的。 当某些头文件包含在 QT(QWidget 等)中时,事 ...
我正在尝试使用AsmJit生成一个函数调用,我将一个char*传递给它。 这个char*本身是从另一个函数调用中检索的。 我试过这个: 事实证明,这不会为第二个参数或第二次调用setArg生成任何指令。 我还尝试使用.newIntPtr并使用移动指令将调用结果移动到位。 但这产生了dec和 ad ...
我正在使用asmjit,遇到了一个问题。 当c ++异常被生成的jit代码(x64)中调用的函数抛出时,即使我在jit函数调用之外进行try-catch也无法捕获该异常,为什么?如何捕获该异常? ...
根据这篇文章 ,在x64中,你可以执行lea rax, [rip]来获取当前指令。 我怎么用asmjit做这个? ...
如何使用AsmJit API将变量值获取到寄存器? 像下面的东西? ...
我需要使用lea操作将现有全局变量/外部变量的地址加载到寄存器中。 这在AsmJit中可行吗? 关联的ptr函数似乎只接受需要在AsmJit中创建的GpVar。 ...
我正在尝试在项目中使用AsmJit。 这是我使用的makefile: 我在尝试这个时遇到编译器错误,所以我从dep / AsmJit / Config.h取消注释#define ASMJIT_API行,并从makefile中删除了-D开关,干净地编译了所有内容。 我正在使用gcc 4 ...