CPU指令与堆栈操作及定点设计解析
1. JALR与RET指令
1.1 JALR指令
JALR(Jump-And-Link Register)指令的操作分为两步。第一步,将 (PC + 2) 的值存储到寄存器 R31 中;第二步,将寄存器 RS 的内容加载到程序计数器 PC 中。其指令的字段格式如下:
| 31 | 26 25 | 21 20 | 0 |
|----|-------|-------|—|
| JALR | RS | Not Used | |
指令操作可表示为:
(PC + 2) → Reg[R31] followed by Reg[RS] → PC
1.2 RET指令
RET(Return)指令与JAL或JALR指令配合使用。它会从寄存器 R31 中取出之前存储的程序地址,并用该地址替换当前的 PC 值,从而使程序返回到原来的位置。其指令的字段格式如下:
| 31 | 26 25 | 0 |
|----|-------|—|
| RET | Not Used | |
指令操作可表示为:
Reg[R31] → PC
超级会员免费看
订阅专栏 解锁全文
999

被折叠的 条评论
为什么被折叠?



