05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Assembler syntax<br />

TBB [, ]<br />

TBH [, , LSL #1]<br />

where:<br />

See St<strong>and</strong>ard assembler syntax fields on page A8-7.<br />

Instruction Details<br />

The base register. This contains the address of the table of branch lengths. The PC can be<br />

used. If it is, the table immediately follows this instruction.<br />

The index register.<br />

For TBB, this contains an integer pointing to a single byte in the table. The offset in the table<br />

is the value of the index.<br />

For TBH, this contains an integer pointing to a halfword in the table. The offset in the table is<br />

twice the value of the index.<br />

Operation<br />

if ConditionPassed() then<br />

EncodingSpecificOperations(); NullCheckIfThumbEE(n);<br />

if is_tbh then<br />

halfwords = UInt(MemU[R[n]+LSL(R[m],1), 2]);<br />

else<br />

halfwords = UInt(MemU[R[n]+R[m], 1]);<br />

BranchWritePC(PC + 2*halfwords);<br />

Exceptions<br />

Data Abort.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. A8-447

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!