What is the difference between unconditional branch and unconditional jump (instructions in MIPS)?

Val picture Val · Jun 11, 2012 · Viewed 61.7k times · Source

You may look into Wikipedia or short summary for students. Everybody says that there are two instructions for the same thing. But nobody tells why?

Answer

Igor Skochinsky picture Igor Skochinsky · Jun 11, 2012

Branches (b) use a PC-relative displacement while jumps (j) use absolute addresses. The distinction is important for position-independent code. Also, only jumps can be used for indirect control transfer (jr, using a register value).