I need help with the following MIPS machine assembly question: Consider the jump
ID: 3585404 • Letter: I
Question
I need help with the following MIPS machine assembly question:
Consider the jump instruction ' j ' destination_address
a) How many bits are allocated for the “destination_address”?
b) What range of addresses that we can reach using the number of bits you specified in Part (a). Before the jump, next instruction to be executed is PC+4.
c) Where do we derive the other bits to form a 32-bit word as a valid program counter (PC)?
d) If we need to jump to an address that is beyond the range specified in Part (b), how would we jump to that destination?
Explanation / Answer
a) In our case we have the jump instruction 'j' destination_address. And for that we required 28 bits. We cam this
result because of following given calulation:
Total no's of bits = 32 - 6(the op code) + 2 ( added <<2) = 28 bits
b) Address range can be 2^28 = 256M