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 />

where:<br />

Instruction Details<br />

PLI [ {, #+/-}] Immediate form<br />

PLI Normal literal form<br />

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

See St<strong>and</strong>ard assembler syntax fields on page A8-7. An <strong>ARM</strong> PLI instruction must be<br />

unconditional.<br />

Is the base register. The SP can be used.<br />

+/- Is + or omitted to indicate that the immediate offset is added to the base register value<br />

(add == TRUE), or – to indicate that the offset is to be subtracted (add == FALSE). Different<br />

instructions are generated for #0 <strong>and</strong> #-0.<br />

The immediate offset used to form the address. For the immediate form of the syntax, <br />

can be omitted, in which case the #0 form of the instruction is assembled. Values are:<br />

Encoding T1, T3, A1 any value in the range 0 to 4095<br />

Encoding T2 any value in the range 0 to 255.<br />

The label of the instruction that is likely to be accessed in the near future. The assembler<br />

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

the label. The offset must be in the range –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 />

For the literal forms of the instruction, encoding T3 is used, or Rn is encoded as '1111' in encoding A1, to<br />

indicate that the PC is the base register.<br />

The alternative literal 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 />

Operation<br />

if ConditionPassed() then<br />

EncodingSpecificOperations();<br />

base = if n == 15 then Align(PC,4) else R[n];<br />

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

Hint_PreloadInstr(address);<br />

Exceptions<br />

None.<br />

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

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

Saved successfully!

Ooh no, something went wrong!