02.02.2013 Views

ARM Processor Instruction Set

ARM Processor Instruction Set

ARM Processor Instruction Set

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>ARM</strong> <strong>Processor</strong> <strong>Instruction</strong> <strong>Set</strong><br />

5.13.7 Assembler syntax<br />

5-40<br />

{cond}{L} p#,cd,<br />

LDC load from memory to coprocessor<br />

STC store from coprocessor to memory<br />

{L} when present perform long transfer (N=1), otherwise perform short<br />

transfer (N=0)<br />

{cond} two-character condition mnemonic, see Figure 5-2: Condition codes<br />

on page 5-2<br />

p# the unique number of the required coprocessor<br />

cd is an expression evaluating to a valid coprocessor register number<br />

that is placed in the CRd field<br />

can be:<br />

1 An expression which generates an address:<br />

<br />

The assembler will attempt to generate an instruction using the PC as a base<br />

and a corrected immediate offset to address the location given by evaluating<br />

the expression. This will be a PC relative, pre-indexed address. If the address<br />

is out of range, an error will be generated.<br />

2 A pre-indexed addressing specification:<br />

[Rn] offset of zero<br />

[Rn,]{!} offset of bytes<br />

3 A post-indexed addressing specification:<br />

[Rn], offset of bytes<br />

Rn is an expression evaluating to a valid processor register number.<br />

Note, if Rn is R15 then the assembler will subtract 8 from the offset<br />

value to allow for processor pipelining.<br />

{!} write back the base register (set the W bit) if ! is present<br />

5.13.8 Examples<br />

LDC p1,c2,table ;load c2 of coproc 1 from address table,<br />

;using a PC relative address.<br />

STCEQLp2,c3,[R5,#24]! ;conditionally store c3 of coproc 2<br />

;into an address 24 bytes up from R5,<br />

;write this address back to R5, and use<br />

;long transfer<br />

;option (probably to store multiple<br />

;words)<br />

Note: Though the address offset is expressed in bytes, the instruction offset field is in words.<br />

The assembler will adjust the offset appropriately.<br />

<strong>ARM</strong>7500FE Data Sheet<br />

<strong>ARM</strong> DDI 0077B<br />

Named Partner Open Confidential Access - Preliminary - Preliminary Draft

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

Saved successfully!

Ooh no, something went wrong!