MIPS中分支和跳转的地址范围

该博客作为读书笔记,探讨MIPS相关问题。分析了MIPS中条件分支和跳转及跳转链接指令的地址范围。条件分支指令后16位指定分支地址,采用PC相对寻址,地址范围为±128K;跳转指令后26位指定跳转地址,采用伪直接寻址,地址范围为256M。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(仅作为读书笔记)
例题:
1.在MIPS中条件分支的地址范围(K=1024)是多大?
2.在MIPS中跳转和跳转链接指令的地址范围(M=1024K)是多大?

1.条件分支指令

opregregaddress
6位5位5位16位

其中后16位用于指定分支地址。
MIPS条件分支指令寻址采用PC相对寻址,分支指令的地址为 PC 加上分支地址。
PC包含当前指令地址。分支地址有16位,因此可跳转到离当前指令距离为±2^15个字(注意是字,因为PC相对寻址是按字寻址),1个字等于4个字节,所以条件分支指令的地址范围是:±2 ^15 * 4 = ± 2 ^17 = ± 128K,即分支前后地址范围各大约128K,即地址范围为256K。

2.跳转指令

opadress
6位26位

其中后26位用于指定跳转地址,其为字地址,它可以表示为28位的字节地址。MIPS跳转指令寻址采用伪直接寻址,跳转指令的目标地址由当前的PC的高4位与跳转指令的低26位左移2位后相加而成。
所以可跳转的地址范围为2^28 = 256M

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值