在汇编 (MIPS) 中,立即指令具有以下格式:
+----------+------+------+-------+
| opcode | rs | rt | IMM |
+----------+------+------+-------+
在哪里,
Opcode = 6 bits
Source register (rs) = 5 bits
Destination register (rt) = 5 bits
Immediate value (IMM) = 16 bits
也就是说,您可以跳转到2^16 bytes = 64 kb
远离当前指令的另一条代码指令(分支指令)。程序(C、Java 等)怎么可能超过 2^16 字节的代码?
编辑:
正如@trashgod 指出的那样,编译器可以改用J 指令。但它仍然限于26 bits
地址,这意味着程序不能跨越 256MB。那么,怎么可能呢?