可扩展的X86-64汇编器

问题描述

我正在研究一个项目,据此我们提议对x86 / x86-64进行体系结构扩展。我们已经定义了汇编指令,到目前为止,我们已经使用asm(\“。byte 0x04 \”);之类的语句将其硬编码到C文件中。这里的问题是,这可能很乏味且容易出错。 我正在寻找现有的x86-64汇编程序,可以在其中轻松定义新指令。我查看过GAS,但发现使用它有点困难。它被设计为快速,不可扩展的。有人可以建议其他选择吗? 谢谢。     

解决方法

        任何宏汇编程序(例如FASM)都应该能够满足您的需求。 如果要“本地”支持指令,则可能需要获取某些汇编程序的源代码并修改其代码生成器。     ,        MASM和JWASM可以回补指令。编写一条与您要生成的指令具有相同结构和前缀的指令,然后回补以替换部分代码。 例如。 L1:bsf eax,ebx L2: 组织L1 + 1 db 0BDH;替换指令的第二个字节 组织L2;返回说明的末尾 这会将具有相同操作数的bsf指令更改为bsr指令。但是,您必须知道所有前缀字节的大小才能将补丁放在正确的位置。 历史上,此方法已在宏中用于汇编程序尚不支持的新指令。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...