You copied the Doc URL to your clipboard.

ARM Compiler armasm User Guide : STXR

STXR

Store Exclusive Register.

Syntax

STXR Ws, Wt, [Xn|SP{,#0}] ; 32-bit general registers

STXR Ws, Xt, [Xn|SP{,#0}] ; 64-bit general registers

Where:

Wt

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

Xt

Is the 64-bit name of the general-purpose register to be transferred.

Ws

Is the 32-bit name of the general-purpose register into which the status result of the store exclusive is written. The value returned is.

Xn|SP

Is the 64-bit name of the general-purpose base register or stack pointer.

Aborts and alignment

If a synchronous Data Abort exception is generated by the execution of this instruction:

  • Memory is not updated.
  • Ws is not updated.

Accessing an address that is not aligned to the size of the data being accessed causes an Alignment fault Data Abort exception to be generated, subject to the following rules:

  • The exception is generated if the Exclusive Monitors for the current PE include all of the addresses associated with the virtual address region of size bytes starting at address. The immediately following memory write must be to the same addresses.
  • Otherwise, it is IMPLEMENTATION DEFINED whether the exception is generated.

Whether the detection of memory aborts happens before or after the check on the local Exclusive Monitor depends on the implementation. As a result a failure of the local monitor can occur on some implementations even if the memory access would give a memory abort.

Usage

Store Exclusive Register stores a 32-bit word or a 64-bit doubleword from a register to memory if the PE has exclusive access to the memory address, and returns a status value of 0 if the store was successful, or of 1 if no store was performed. See Synchronization and semaphores in the ARMv8-A Architecture Reference Manual. For information about memory accesses see Load/Store addressing modes in the ARMv8-A Architecture Reference Manual.

Note

For information about the CONSTRAINED UNPREDICTABLE behavior of this instruction, see Architectural Constraints on UNPREDICTABLE behaviors in the ARMv8-A Architecture Reference Manual, and particularly STXR in the ARMv8-A Architecture Reference Manual.
Was this page helpful? Yes No