操作码和操作数说明

逆向工程 部件
2021-06-11 21:52:43

我需要对术语“操作码”进行解释。我发现了这个:

操作码是 cpu 指令集中机器指令的二进制或十六进制值。

如果我正确理解定义,例如:

6A 03  push 3

6A是操作码,03是操作数。但是在不同论坛的几个帖子中,人们谈论 03 就好像它是一个操作码(例如这个

在这里, 3 是一个立即数,因为它直接作为操作码的一部分(在第二个字节中)包含在内。

)。

03 是操作码还是操作数?

1个回答

关于这个具体的推送,根据Intel SDM(页面可以通过搜索 Vol. 2B 4-507 识别)03 既是操作码的一部分,也是“参数”的一部分。" push 03"的完整操作码是 " 6A 03"

据我所知,英特尔 SDM 一直使用术语操作码作为“汇编命令的所有内容,包括操作数”。 SDM 中可能的 PUSH 操作码表