ARM Instruction Reference
ARM DUI 0068B
Copyright © 2000, 2001 ARM Limited. All rights reserved.
4-9
Flexible offset syntax
Both pre-indexed and post-indexed offsets can be either of the following:
#
expr
{-}
Rm
{,
shift
}
where:
-
is an optional minus sign. If
-
is present, the offset is subtracted from
Rn
.
Otherwise, the offset is added to
Rn
.
expr
is an expression evaluating to an integer in the range –4095 to +4095.
This is often a numeric constant (see examples below).
Rm
is a register containing a value to be used as the offset.
Rm
must not be r15.
shift
is an optional shift to be applied to
Rm
. It can be any one of:
ASR
n
arithmetic shift right
n
bits. 1
≤
n
≤
32.
LSL
n
logical shift left
n
bits. 0
≤
n
≤
31.
LSR
n
logical shift right
n
bits. 1
≤
n
≤
32.
ROR
n
rotate right
n
bits. 1
≤
n
≤
31.
RRX
rotate right one bit, with extend.