Architecture

BLTZALL

Branch On Less Than Zero And Link Likely

BLTZALL

 

31

26 25

21 20

16 15

0

 

 

 

BCOND

 

rs

 

BLTZALL

 

offset

 

 

 

 

 

 

 

 

 

 

 

000001

 

 

 

10010

 

 

 

 

 

6

 

5

 

5

 

16

 

Format :

BLTZALL rs, offset

Description :

Generates a branch target address by adding the address of the instruction in the delay slot to the 16- bit offset (that has been left-shifted two bits and sign-extended to 32 bits). The address of the instruction following the instruction in the delay slot is unconditionally placed in link register r31 as the return address from the branch. If the value in general-purpose register rs is negative (i.e., the sign bit of rs is 1), the program branches to the target address after a one-cycle delay.

Register r31 should not be used for rs, as this would prevent the instruction from restarting. However, if this is done it is not trapped as an error.

If the branch is not taken, the instruction in the delay slot is treated as a NOP.

Operation :

T:

target (offset )14

offset 02

 

15

 

 

condition (GPR[rs]31 = 1)

 

GPR[31] PC + 8

 

T + 1:

if condition then

 

PC PC + target

else

NullifyCurrentInstruction

endif

Exceptions :

None

128

Page 139
Image 139
Toshiba TX39 user manual Bltzall