15、CPU指令与堆栈操作及定点设计解析

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

2. 子程序与堆栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值