- ARM's
advanced
addressing mode used to
access
array elements:
ldrXX rN, [rN, rk, LSL #n] // Advanced load instruction for arrays
strXX rN, [rN, rk, LSL #n] // Advanced load instruction for arrays
|
- The memory address used by
ldrXX rN,
[rN, rk, LSL #n]
memory address = rN + ( rk << n )
i.e.: memory address = rN + 2n*rk
|
Examples:
ldrsb rN, [rN, rk, LSL #0] // Load byte data at array index rk
ldrsh rN, [rN, rk, LSL #1] // Load short data at array index rk
ldr rN, [rN, rk, LSL #2] // Load int data at array index rk
|
|