Cheers, given the following MIPS assembly command: loop: beq $s0, $s1, loop
which is the value of the lower 16 bits of the instruction in MIPS? When I put it into QtSpim I see that the lower 16 bits are ALL zeros, but that doesn't make sense to me. My thinking is:
Let the instruction be in position e.g. 80000. beq uses PC-Relative addressing. So when it's executed PC is also 80000. But it calculates the steps according to the NEXT instruction. So I say that: 80000 = 80000 (PC) + 4 (next instruction) + x (offset)*4. So I get x = -1, which makes sense to me, but this doesn't seem to be the case. What am I thinking wrong?