在计算机科学课程中,我使用逆向工程技术(即反汇编文件并对其进行分析)给了我一个二进制文件和任务,以找出它的作用。 我偶然发现了一行IA-32指令:
add %esi,%ecx
我了解到后缀l
的命令在32位寄存器上运行,后缀w
的命令在16位寄存器上运行,我认为(但不知道),没有后缀的运算符在8位寄存器上运行。 编辑:请参阅罗斯里奇的评论,这些评论会伪造我的假设。
所以我的问题是:
addl
相比)是什么 - 以及sub
,mov
等其他操作会产生什么影响?提前致谢!
答案 0 :(得分:4)
通常,如果给出了正确的寄存器名称,则后缀被忽略/不重要。所以上面的指令是32位指令,因为esi和ecx是32位寄存器。