指令集和伪命令

指令集和伪命令

我在 Linux 上对各种二进制文件使用“objdump”,它返回它们的汇编代码。我收到的命令是“真实”命令还是伪命令?我读到过有些命令是其他命令的组合,它们被称为伪命令。这是真的吗?如果是,我如何才能从可执行文件中仅获取“真实”命令?

答案1

在当前运行 Linux 的基于 x86 或 ARM 的系统上,反汇编的指令将是真正的指令。

伪操作是一种便利的用法,用于创造软件,例如通常一起使用的短指令序列,或者以不太明显的方式实现的指令。

例如,指令

mov eax, #0

将零放入寄存器 EAX,可能可以用更少的字节和/或更少的时间来实现,如下所示:

xor eax, eax

该异或操作将 EAX 注册到自身,结果始终为零。因此,汇编程序可能会将易于理解的指令转换为更小或更快的形式。

相关内容