这是我的类中的图,仅执行了指令0。在该图右下角的堆栈中,它将$ ra存储在比$sp
(位于128处)少 的地址处。
但是,在我的书中,它们使用偏移量来表示比$sp
高。这是图表:
和
对我来说很奇怪的是,在第一张图片中,lw和sw偏移量是正数,但是导致这些值在较低的地址处存储为$sp
的负数。
但是,最后两个图像使用偏移量在相对于$sp
的更高地址处存储或加载值。这本书腾出空间,方法是先从$sp
中减去,然后使用正偏移号将寄存器值存储在释放的堆栈中,这些偏移号会移至更高的地址。
这两个不一致吗?