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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Assembler syntax<br />

LDRB , Normal form<br />

LDRB , [PC, #+/-] Alternative form<br />

where:<br />

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

The destination register.<br />

Instruction Details<br />

The label of the literal data item that is to be loaded into . The assembler calculates the<br />

required value of the offset from the Align(PC,4) value of this instruction to the label.<br />

Permitted values of the offset are -4095 to 4095.<br />

If the offset is zero or positive, imm32 is equal to the offset <strong>and</strong> add == TRUE.<br />

If the offset is negative, imm32 is equal to minus the offset <strong>and</strong> add == FALSE.<br />

The alternative syntax permits the addition or subtraction of the offset <strong>and</strong> the immediate offset to be<br />

specified separately, including permitting a subtraction of 0 that cannot be specified using the normal<br />

syntax. For more information, see Use of labels in UAL instruction syntax on page A4-5.<br />

The pre-UAL syntax LDRB is equivalent to LDRB.<br />

Operation<br />

if ConditionPassed() then<br />

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

base = Align(PC,4);<br />

address = if add then (base + imm32) else (base - imm32);<br />

R[t] = ZeroExtend(MemU[address,1], 32);<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-131

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

Saved successfully!

Ooh no, something went wrong!