ARM Processor Instruction Set
ARM Processor Instruction Set
ARM Processor Instruction Set
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