可扩展的X86-64汇编程序

时间:2011-05-30 13:56:29

标签: x86 x86-64 assembly

我正在开展一个项目,我们正在提出x86 / x86-64的架构扩展。我们现在已经定义了汇编指令,到目前为止,我们已经使用asm(“。byte 0x04”)等语句将它们硬编码到我们的C文件中。这里的问题是,这可能是乏味且容易出错的。

我正在寻找一个现有的x86-64汇编程序,我可以轻松定义新指令。我看过GAS,但发现它有点难以使用。它被设计为快速,不可扩展。有人可以提出任何其他选择吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

任何宏汇编程序(如FASM)都应该能够满足您的要求。

如果您想“本地”支持您的指令,您可能需要获取某些汇编程序的源代码并修改其代码生成器。

答案 1 :(得分:2)

MASM和JWASM可以补丁说明。编写一个与您想要生成的结构和前缀相同的结构和前缀的指令,然后进行补丁以替换部分代码。 E.g。

L1:bsf eax,ebx L2: 组织L1 + 1 db 0BDH;替换指令的第二个字节 组织L2;回到指令的末尾

这会将bsf指令更改为具有相同操作数的bsr指令。但是,您必须知道所有前缀字节的大小才能将补丁放在正确的位置。

此方法历来在宏中用于汇编程序尚不支持的新指令。

相关问题