4.3.14. SWP 和 SWPB

在寄存器和内存之间交换数据。

语法

SWP{B}{cond} Rt, Rt2, [Rn]

其中:

cond

是一个可选的条件代码(请参阅条件执行)。

B

是一个可选的后缀。 如果存在 B,则交换一个字节。 否则,交换一个 32 位字。

Rt

是目标寄存器。

Rt2

是源寄存器。 Rt2 可与 Rt 为同一个寄存器。

Rn

包含内存地址。 Rn 必须要与 RtRt2 为不同的寄存器。

用法

您可利用 SWPSWPB 来交换信息:

  • 将数据从内存加载到 Rt

  • Rt2 的内容保存到内存。

  • 如果 Rt2Rt 是同一个寄存器,则该寄存器的内容将会与内存中的内容交换。

注释

在 ARMv6 和更高版本中,不提倡使用 SWPSWPB。 有关可在 ARMv6 及更高版本中实现更为复杂的信息交换功能的指令的信息,请参阅LDREX 和 STREX

体系结构

这些 ARM 指令可用于所有版本的 ARM 体系结构中。

无 Thumb SWPSWPB 指令。

Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0204HC
Non-Confidential