LB 22bit
6-120
LB 22bit Long Branch
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
LB 22bit 0000 0000 01CC CCCC
CCCC CCCC CCCC CCCC
X − 4
Operands 22bit 22-bit program-address (0x000000 to 0x3FFFFF range)
Description Long branch. Load the PC with the selected 22-bit program address:
PC = 22bit;
Flags and
Modes
None
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Branch to subroutines in SwitchTable selected by Switch
; value:
SwitchTable: ; Switch address table:
.long Switch0 ; Switch0 address
.long Switch1 ; Switch1 address
.
.
MOVL XAR2,#Switch-
Table
; XAR2 = pointer to SwitchTable
MOVZ AR0,@Switch ; AR0 = Switch index
MOVL XAR7,*+XAR2[AR0] ; XAR7 = SwitchTable[Switch]
LB *XAR7 ; Indirect branch using XAR7
SwitchReturn:
.
.
Switch0: ; Function A:
.
.
LB SwitchReturn ; Return: long branch
Switch1: ; Function B:
.
.
LB SwitchReturn ; Return: long branch