EasyManuals Logo
Home>ST>Computer Hardware>STM32WB Series

ST STM32WB Series Programming Manual

ST STM32WB Series
262 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #147 background imageLoading...
Page #147 background image
PM0214 Rev 9 147/262
PM0214 The STM32 Cortex-M4 instruction set
261
3.9.8 TBB and TBH
Table Branch Byte and Table Branch Halfword.
Syntax
TBB [Rn, Rm]
TBH [Rn, Rm, LSL #1]
Where:
• ‘Rn’ is the register containing the address of the table of branch lengths.
If Rn is PC, then the address of the table is the address of the byte immediately
following the TBB or TBH instruction.
• ‘Rm’ is the index register. This contains an index into the table. For halfword tables,
LSL #1 doubles the value in Rm to form the right offset into the table.
Operation
These instructions cause a PC-relative forward branch using a table of single byte offsets for
TBB, or halfword offsets for TBH. Rn provides a pointer to the table, and Rm supplies an
index into the table. For TBB the branch offset is twice the unsigned value of the byte
returned from the table. and for TBH the branch offset is twice the unsigned value of the
halfword returned from the table. The branch occurs to the address at that offset from the
address of the byte immediately after the TBB or TBH instruction.
Restrictions
The restrictions are:
• Rn must not be SP
• Rm must not be SP and must not be PC
• When any of these instructions is used inside an IT block, it must be the last instruction
of the IT block.
Condition flags
These instructions do not change the flags.
Examples
ADR.W R0, BranchTable_Byte
TBB [R0, R1] ; R1 is the index, R0 is the base address of the branch table
Case1
; an instruction sequence follows
Case2
; an instruction sequence follows
Case3
; an instruction sequence follows
BranchTable_Byte
DCB 0 ; Case1 offset calculation
DCB ((Case2-Case1)/2) ; Case2 offset calculation
DCB ((Case3-Case1)/2) ; Case3 offset calculation
TBH [PC, R1, LSL #1] ; R1 is the index, PC is used as base of the
; branch table

Table of Contents

Other manuals for ST STM32WB Series

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ST STM32WB Series and is the answer not in the manual?

ST STM32WB Series Specifications

General IconGeneral
BrandST
ModelSTM32WB Series
CategoryComputer Hardware
LanguageEnglish

Related product manuals