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.

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

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

Saved successfully!

Ooh no, something went wrong!