SWP と SWPB

レジスタとメモリ間のデータスワップ命令です。

Show/hide構文

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

各パラメータには以下の意味があります。

cond

任意の条件コードを指定します。

B

任意に指定できる接尾文字です。B を指定した場合は、バイトがスワップされます。指定しなかった場合は、32 ビットワードがスワップされます。

Rt

デスティネーションレジスタを指定します。Rt に PC は指定できません。

Rt2

ソースレジスタを指定します。Rt2Rt と同じレジスタを指定できます。Rt2 に PC は指定できません。

Rn

メモリ内のアドレスを保持します。Rn には、Rt および Rt2 とは異なるレジスタを指定する必要があります。Rn に PC は指定できません。

Show/hide使用法

SWPSWPB を使用して、セマフォを実装できます。

  • メモリからのデータが Rt にロードされます。

  • Rt2 の内容がメモリに保存されます。

  • Rt2Rt と同じレジスタになっている場合、レジスタの内容がそのメモリの場所にある内容とスワップされます。

Show/hide

ARMv6 以降では、SWP および SWPB の使用はお勧めできません。LDREX および STREX 命令を使用すると、ARMv6 以降で洗練されたセマフォを実装できます。

Show/hideアーキテクチャ

これらの ARM 命令は、ARM アーキテクチャのすべてのバージョンで使用できます。

Thumb では SWP または SWPB 命令はありません。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211