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.8.2 Addressing modes<br />

5-26<br />

The transfer addresses are determined by:<br />

• the contents of the base register (Rn)<br />

• the pre/post bit (P)<br />

• the up/down bit (U)<br />

The registers are transferred in the order lowest to highest, so R15 (if in the list) will<br />

always be transferred last. The lowest register also gets transferred to/from the lowest<br />

memory address.<br />

By way of illustration, consider the transfer of R1, R5 and R7 in the case where<br />

Rn=0x1000 and write back of the modified base is required (W=1).<br />

Figure 5-17: Post-increment addressing, Figure 5-18: Pre-increment addressing,<br />

Figure 5-19: Post-decrement addressing, and Figure 5-20: Pre-decrement addressing<br />

on page 5-28, show the sequence of register transfers, the addresses used, and the<br />

value of Rn after the instruction has completed.<br />

In all cases, had write back of the modified base not been required (W=0), Rn would<br />

have retained its initial value of 0x1000 unless it was also in the transfer list of a load<br />

multiple register instruction, when it would have been overwritten with the loaded<br />

value.<br />

5.8.3 Address alignment<br />

The address should always be a word aligned quantity.<br />

R n<br />

1<br />

R5<br />

R1<br />

3<br />

0x100C<br />

0x1000<br />

0x0FF4<br />

0x100C<br />

0x1000<br />

0x0FF4<br />

4<br />

Figure 5-17: Post-increment addressing<br />

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

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

0x100C<br />

0x1000<br />

0x0FF4<br />

Named Partner Open Confidential Access - Preliminary - Preliminary Draft<br />

Rn<br />

R1<br />

2<br />

R7<br />

R5<br />

R1<br />

0x100C<br />

0x1000<br />

0x0FF4

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

Saved successfully!

Ooh no, something went wrong!