【发布时间】:2020-03-02 09:26:21
【问题描述】:
【问题讨论】:
-
历史硬件原因。您可以想象 CPU 已经获取了当前指令,因此 PC 已经指向下一条指令。如今,这当然无关紧要。替代解释:cpu 将继续执行下一条指令,因此偏移量表示偏离该指令的程度。
-
@Jester 在我正在测试的示例中,cpu 指向调用指令。它还没有获取它。
-
当它需要使用偏移量时,它显然已经获取了它,因为该偏移量已嵌入指令中。
-
这样做使最初的 8086 处理器更易于设计和实现。出于兼容性原因,该设计已被推进。 (例如,已经计算了下一条指令的地址才能用作返回地址。也可以使用您已经拥有的值!)
标签: assembly x86 intel machine-code relative-addressing