STR, unprivileged
Unprivileged Store, byte, halfword, or word.
Syntax
STR
{
}type
T
{
} cond
, [Rt
{, #Rn
}] ; immediate offset (T32, 32-bit encoding only)
offset
STR
{
}type
T
{
} cond
, [Rt
] {, #Rn
} ; post-indexed (A32 only) offset
STR
{
}type
T
{
} cond
, [Rt
], ±Rn
{, Rm
} ; post-indexed (register) (A32 only)
shift
where:
type
-
can be any one of:
B
-
Byte
H
-
Halfword
-
-
omitted, for Word.
cond
-
is an optional condition code.
Rt
-
is the register to load or store.
Rn
-
is the register on which the memory address is based.
offset
-
is an offset. If offset is omitted, the address is the value in
.Rn
Rm
-
is a register containing a value to be used as the offset.
must not be PC.Rm
shift
-
is an optional shift.
Operation
When these instructions are executed by privileged software, they access memory with the same restrictions as they would have if they were executed by unprivileged software.
When executed by unprivileged software, these instructions behave in exactly the
same way as the corresponding store instruction, for example STRBT
behaves in the same way as STRB
.
Offset ranges and architectures
The following table shows the ranges of offsets and availability of this instruction:
Table 13-17 Offsets and architectures, STR (User mode)
Instruction | Immediate offset | Post-indexed | +/-Rm
a |
shift |
---|---|---|---|---|
A32, word or byte | Not available | -4095 to 4095 | +/-
|
LSL
#0-31 |
LSR
#1-32 |
||||
ASR
#1-32 |
||||
ROR
#1-31 |
||||
RRX |
||||
A32, halfword | Not available | -255 to 255 | +/-
|
Not available |
T32 32-bit encoding, word, halfword, or byte | 0 to 255 | Not available | Not available |
Related concepts
Related reference
You can use -Rm, +Rm, or Rm.