You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MIPS I(VR3000A)跨段连续跳转行为技术问询

VR3000A(MIPS I)跨段跳转地址判定问题

这是针对VR3000A与MIPS I指令集的通用MIPS问题。我找到一组PlayStation 1的硬件测试,用来探究无间隔连续分支与跳转指令的行为:

  • 其中一项测试显示,分支指令基于当前PC做相对跳转,行为容易混淆;
  • 另一项测试显示,绝对跳转指令的行为更具可预测性。

但受PS1内存映射限制,这组测试没覆盖跨段边界的场景。根据MIPS I指令集规则,跳转指令的地址生成逻辑是:跳转地址的低28位由指令本身指定,高4位取自执行该指令时的当前PC值。

看下面的代码示例:

7FFF'0000: addr1:  nop
...
7FFF'7FFC:         j addr1 ; Execution starts here
8000'0000:         j addr2
8000'0004:         nop
...
8000'1234: addr2:  nop
...

第二条j指令本身存放在0x8xxx'xxxx段,但执行它的时候,PC处于0x7xxx'xxxx段。请问最终的跳转地址会是预期的0x8000'1234,还是0x7000'1234?

内容的提问来源于stack exchange,提问作者IDontKnowWhatToPutAsMyUsername

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 10:43:09