I'm trying to understand the range of each branch instruction.
The beq
and bne
instruction do something like that :
PCnew = (PCold + 4) + (steps from branch point)*4
However the jump instruction does not add 4 to the PCold, although i know that every mips instruction add 4 (to go to next instruction). So if i write :
j loop
Then the PCnew takes the address of loop*4 and does not add four to it.Why is that? Am i getting something wrong ?