在计算机科学的一门课程中,有人给了我一个二进制文件,并用逆向工程技术(即拆卸和分析文件)来找出它所做的事情。我无意中发现了IA-32指令中的一行:
add %esi,%ecx我了解到,带有后缀l的命令在32位寄存器上操作,那些带有后缀w的命令在16位寄存器上操作,我认为(但不知道),没有后缀的操作符在8位寄存器上操作。编辑:见罗斯里奇的评论,它歪曲了我的假设。
所以我的问题是:
addl相反)是什么--以及其他操作(如sub、mov等)有哪些效果?提前感谢!
发布于 2015-06-05 19:09:03
通常,如果给出适当的寄存器名,则忽略后缀/不重要。所以上面的指令是32位指令,因为esi和ecx是32位寄存器。
https://stackoverflow.com/questions/30673989
复制相似问题