next up previous
Next: Load Instructions Up: Description of the MIPS Previous: Comparison Instructions

Branch and Jump Instructions

In all instructions below, Src2 can either be a register or an immediate value (integer). Branch instructions use a signed 16-bit offset field; hence they can jump tex2html_wrap_inline1322 instructions (not bytes) forward or tex2html_wrap_inline1324 instructions backwards. The jump instruction contains a 26 bit address field.

b label Branch instruction tex2html_wrap_inline1278
Unconditionally branch to the instruction at the label.

bczt label Branch Coprocessor z True
bczf label Branch Coprocessor z False
Conditionally branch to the instruction at the label if coprocessor z's condition flag is true (false).

beq Rsrc1, Src2, label Branch on Equal
Conditionally branch to the instruction at the label if the contents of register Rsrc1 equals Src2.

beqz Rsrc, label Branch on Equal Zero tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of Rsrc equals 0.

bge Rsrc1, Src2, label Branch on Greater Than Equal tex2html_wrap_inline1278
bgeu Rsrc1, Src2, label Branch on GTE Unsigned tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of register Rsrc1 are greater than or equal to Src2.

bgez Rsrc, label Branch on Greater Than Equal Zero
Conditionally branch to the instruction at the label if the contents of Rsrc are greater than or equal to 0.

bgezal Rsrc, label Branch on Greater Than Equal Zero And Link
Conditionally branch to the instruction at the label if the contents of Rsrc are greater than or equal to 0. Save the address of the next instruction in register 31.

bgt Rsrc1, Src2, label Branch on Greater Than tex2html_wrap_inline1278
bgtu Rsrc1, Src2, label Branch on Greater Than Unsigned tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of register Rsrc1 are greater than Src2.

bgtz Rsrc, label Branch on Greater Than Zero
Conditionally branch to the instruction at the label if the contents of Rsrc are greater than 0.

ble Rsrc1, Src2, label Branch on Less Than Equal tex2html_wrap_inline1278
bleu Rsrc1, Src2, label Branch on LTE Unsigned tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of register Rsrc1 are less than or equal to Src2.

blez Rsrc, label Branch on Less Than Equal Zero
Conditionally branch to the instruction at the label if the contents of Rsrc are less than or equal to 0.

bgezal Rsrc, label Branch on Greater Than Equal Zero And Link
bltzal Rsrc, label Branch on Less Than And Link
Conditionally branch to the instruction at the label if the contents of Rsrc are greater or equal to 0 or less than 0, respectively. Save the address of the next instruction in register 31.

blt Rsrc1, Src2, label Branch on Less Than tex2html_wrap_inline1278
bltu Rsrc1, Src2, label Branch on Less Than Unsigned tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of register Rsrc1 are less than Src2.

bltz Rsrc, label Branch on Less Than Zero
Conditionally branch to the instruction at the label if the contents of Rsrc are less than 0.

bne Rsrc1, Src2, label Branch on Not Equal
Conditionally branch to the instruction at the label if the contents of register Rsrc1 are not equal to Src2.

bnez Rsrc, label Branch on Not Equal Zero tex2html_wrap_inline1278
Conditionally branch to the instruction at the label if the contents of Rsrc are not equal to 0.

j label Jump
Unconditionally jump to the instruction at the label.

jal label Jump and Link
jalr Rsrc Jump and Link Register
Unconditionally jump to the instruction at the label or whose address is in register Rsrc. Save the address of the next instruction in register 31.

jr Rsrc Jump Register
Unconditionally jump to the instruction whose address is in register Rsrc.


next up previous
Next: Load Instructions Up: Description of the MIPS Previous: Comparison Instructions

Antony Hosking
Fri Apr 12 10:48:03 EST 1996