17.104 STR (register)

Store Register (register).

Syntax

STR Wt, [Xn|SP, (Wm|Xm){, extend {amount}}] ; 32-bit

STR Xt, [Xn|SP, (Wm|Xm){, extend {amount}}] ; 64-bit

Where:

Wt
Is the 32-bit name of the general-purpose register to be transferred.
amount

Is the index shift amount, optional only when extend is not LSL. Where it is permitted to be optional, it defaults to #0. It is:

32-bit general registers
Can be one of #0 or #2.
64-bit general registers
Can be one of #0 or #3.
Xt
Is the 64-bit name of the general-purpose register to be transferred.
Xn|SP
Is the 64-bit name of the general-purpose base register or stack pointer.
Wm
When "option<0>" is set to 0, is the 32-bit name of the general-purpose index register.
Xm
When "option<0>" is set to 1, is the 64-bit name of the general-purpose index register.
extend
Is the index extend/shift specifier, defaulting to LSL, and which must be omitted for the LSL option when amount is omitted, and can be one of the values shown in Usage.

Usage

Store Register (register) calculates an address from a base register value and an offset register value, and stores a 32-bit word or a 64-bit doubleword to the calculated address, from a register. For information about memory accesses, see Load/Store addressing modes in the ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture profile.

The instruction uses an offset addressing mode, that calculates the address used for the memory access from a base register value and an offset register value. The offset can be optionally shifted and extended.

Non-ConfidentialPDF file icon PDF versionARM 100069_0608_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.