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.
31<br />
28<br />
5.7.1 Offsets and auto-indexing<br />
27<br />
<strong>ARM</strong>7500FE Data Sheet<br />
<strong>ARM</strong> DDI 0077B<br />
26<br />
25<br />
24<br />
23<br />
22<br />
21<br />
20<br />
19<br />
<strong>ARM</strong> <strong>Processor</strong> <strong>Instruction</strong> <strong>Set</strong><br />
Cond 01 I P U B W L Rn Rd<br />
Offset<br />
Open Access - Preliminary<br />
16<br />
15<br />
Figure 5-14: Single data transfer instructions<br />
The offset from the base may be either a 12-bit unsigned binary immediate value in<br />
the instruction, or a second register (possibly shifted in some way). The offset may be<br />
added to (U=1) or subtracted from (U=0) the base register Rn. The offset modification<br />
may be performed either before (pre-indexed, P=1) or after (post-indexed, P=0) the<br />
base is used as the transfer address.<br />
The W bit gives optional auto increment and decrement addressing modes.<br />
The modified base value may be written back into the base (W=1), or the old base<br />
value may be kept (W=0).<br />
12<br />
11<br />
Source/Destination register<br />
Base register<br />
Load/Store bit<br />
0 = Store to memory<br />
1 = Load from memory<br />
Write-back bit<br />
0 = no write-back<br />
1 = write address into base<br />
Byte/Word bit<br />
0 = transfer word quantity<br />
1 = transfer byte quantity<br />
Up/Down bit<br />
0 = down; subtract offset from base<br />
1 = up; add offset to base<br />
Pre/Post indexing bit<br />
0 = post; add offset after transfer<br />
1 = pre; add offset before transfer<br />
Immediate offset<br />
0 = offset is an immediate value<br />
11<br />
Immediate offset<br />
Unsigned 12 bit immediate offset<br />
11<br />
1 = offset is a register<br />
4 3<br />
0<br />
shift applied to Rm<br />
Condition field<br />
Shift Rm<br />
0<br />
0<br />
Offset register<br />
5-19