基本上,我试图用文字描述当JAL 0x00400070执行时会发生什么。在线查看一些jal示例我发现了这一点 “非常棘手:机器周期的中间步骤已经将PC增加了4倍。此时PC在jal指令之后保存指令的地址。现在jal指令的执行阶段为该地址增加了4个并且将结果放在$ ra。所以现在$ ra保存jal指令后第二条指令的地址。“
我的主要困惑在于,在机器周期中它已经将PC增加了4倍。我是否将此作为执行的一部分来考虑,或者这是一个不同的步骤?
如果我不考虑这个,我会得到jal指令将JAL 0x00400070 + 4 = 0x00400074添加四个,并将其放在$ ra中。我是否需要在这里更多地谈论PC?
提前感谢您的帮助!