【发布时间】:2016-10-27 10:14:36
【问题描述】:
如果您查看 cmp、test、add、sub 和 and 等操作的文档,您会注意到涉及寄存器 EAX 及其 16 位和 8 位变体的操作因为第一个操作数有一个不同的操作码,它不同于这些指令的“一般情况”版本。
这个单独的操作码仅仅是一种节省代码空间的方法,它是不是比一般情况下的操作码更有效,或者它只是过去的一些遗物,出于兼容性原因不值得摆脱?
【问题讨论】:
-
非常 早在 1976 年的设计目标就不同了。64KB 的 RAM 需要一条胳膊和一条腿,1MB 是只能梦想的未来。它确实持续了将近20年。以 AX 作为隐式操作数的指令少 1 个字节。
标签: assembly x86 machine-code instructions opcode