尝试编写反汇编代码的指令集分析工具时(https://superuser.com/a/832440/384221),我发现操作码源数据库中未包含操作码MOVABS(Shirk的gas.vim文件),但我没有

根据gas / x86 AT&T语法中的movabs是什么意思?和其他来源看来,该指令是在64位体系结构之前引入的。但是使用i686或更早版本吗?

谢谢。

#1 楼

movabs只是一种特定于GAS的方式,用于对64位内存偏移量或立即数进行编码。它仍然是标准的MOV操作码。

我不确定在x64之前引入它的想法在哪里,这显然是不正确的。例如,Solaris x86手册提到:“仅在–m64下有效的移动”。

评论


哦,所以和nopw和nopl一样,谢谢。顺便说一句,您知道我是否可以在任何地方找到这些特定于GAS的操作码?

–Kyselejsyreček
14-10-29在13:37

#2 楼

正如Igor所提到的,它是针对GAS的。
说它最早出现在binutils-2_11