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

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

where:<br />

Instruction Details<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 if the optionally shifted value of is to be added to the base register value<br />

(add == TRUE), or – if it is to be subtracted (permitted in <strong>ARM</strong> code only, add == FALSE).<br />

Contains the offset that is optionally shifted <strong>and</strong> applied to the value of to form the<br />

address.<br />

The shift to apply to the value read from . If absent, no shift is applied. For encoding<br />

T1, can only be omitted, encoded as imm2 = 0b00, or LSL # with = 1, 2,<br />

or 3, with encoded in imm2. For encoding A1, see Shifts applied to a register on<br />

page A8-10.<br />

Operation<br />

if ConditionPassed() then<br />

EncodingSpecificOperations();<br />

offset = Shift(R[m], shift_t, shift_n, APSR.C);<br />

address = if add then (R[n] + offset) else (R[n] - offset);<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-245

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

Saved successfully!

Ooh no, something went wrong!