我正在阅读计算机系统的第 4 章:程序员的视角并了解顺序 Y86 实现。所以这里是汇编代码:
并且我们跟踪pushl指令的执行来分析push操作的每一步。这里是流程,左边是通用的,右边是具体的:
我可以理解除了 rA:rB 之外的所有步骤。看第一张图片,指令是 a02f,所以在这种情况下,icode:ifun 应该是 a:0,rA:rB 应该是 2:f。但是,根据这本书,rA:rB 实际上是 2:8 而不是 2:f。但是为什么?而且我真的不知道“8”是从哪里来的。
这是一个勘误表,它列在本书第 2 版的勘误表页面中:
第 4 章:处理器架构