我了解在用于PC寻址的MIP中有一个最大的跳转范围。但是,如果我想跳转到的地址超出范围怎么办?
即beq $s0, $s1, L1
其中L1是远离bne
和beq
支持的PC的父亲。有什么方法可以构造等效的代码序列?
答案 0 :(得分:1)
因此,如果I-Type命令的16位不足以支持L1,则可以使用J-Type,因为它的地址有26位(只要在地址周围构建即可)。MIPS I-Type vs J-Type < / p>
如果这还不够,请使用以下地址将地址保存到寄存器中:la $t0, L1
然后使用以下命令跳转到该寄存器:jr $t0
如果您首先将其安全保存到寄存器中,那么您将拥有完整的32位地址。