
XB *AL
6-368
XB *AL
C2 xLP Source-Compatible Indirect Branch
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
XB *AL
0101 0110 0001 0100
1
−
7
Operands
*AL
Indirect program-memory addressing using register AL, can only access
high 64K of program space range (0x3F0000 to 0x3FFFFF)
Description
Unconditional indirect branch by loading the low 16 bits of PC with the
contents of register AL and forcing the upper 6 bits of the PC to 0x3F:
PC = 0x3F:AL;
Note:
This branch instruction can only branch to a location located in the upper 64K range of
program space (0x3F0000 to 0x3FFFFF).
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.
; This example only works for code located in upper 64K of
; program space:
SwitchTable:
; Switch address table:
.word Switch0
; Switch0 address
.word Switch1
; Switch1 address
.
.
MOVL XAR2,#SwitchTable
; XAR2 = pointer to SwitchTable
MOVZ AR0,@Switch
; AR0 = Switch index
MOV AL,*+XAR2[AR0]
; AL = SwitchTable[Switch]
XB *AL
; Indirect branch using AL
SwitchReturn:
.
Switch0:
; Subroutine 0:
.
.
XB SwitchReturn,UNC
; Return: branch
Switch1:
; Subroutine 1:
.
.
XB SwitchReturn,UNC
; Return: branch
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...