LDC、LDC2、STC、STC2

メモリとコプロセッサ間のデータ転送命令です。

Show/hide構文

op{L}{cond} coproc, CRd, [Rn]
op{L}{cond} coproc, CRd, [Rn, #{-}offset]   ; オフセットアドレシング
op{L}{cond} coproc, CRd, [Rn, #{-}offset]! ; プレインデクスアドレシング
op{L}{cond} coproc, CRd, [Rn], #{-}offset    ; ポストインデクスアドレシング
op{L}{cond} coproc, CRd, label

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

op

LDCLDC2STCSTC2 のいずれかを指定します。

cond

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

ARM コードでは、condLDC2 または STC2 で使用できません。

L

長い転送を指定するオプションの接尾文字を指定します。

coproc

命令が実行されるコプロセッサの名前を指定します。標準名は pn で、n は 0 ~ 15 の整数です。

CRd

ロードまたはストアに使用するコプロセッサレジスタを指定します。

Rn

メモリアドレスのベースとなるレジスタを指定します。PC が指定されている場合、使用される値は「現在の命令のアドレス + 8」となります。

-

任意に指定できるマイナス符号です。- が指定されている場合、オフセットが Rn から減算されます。指定されていない場合は、オフセットが Rn に加算されます。

offset

0 ~ 1020 の範囲で 4 の倍数となる式を指定します。

!

任意に指定できる接尾文字です。! を指定すると、オフセットを含むアドレスが Rn にライトバックされます。

label

ワード境界で整列する PC 相対式を指定します。

label は現在の命令から 1020 バイト以内に配置する必要があります。

Show/hide使用法

これらの命令の使用方法はコプロセッサによって異なります。詳細については、コプロセッサのマニュアルを参照して下さい。

ThumbEE では、ベースレジスタの値が 0 の場合、HandlerBase - 4 にある NullCheck ハンドラへの分岐が実行されます。

Show/hideアーキテクチャ

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

LDC2STC2 は ARMv5T 以降で使用できます。

これらの 32 ビット Thumb 命令は、ARMv6T2 以降で使用できます。

これらの命令の 16 ビット Thumb バージョンはありません。

Show/hideレジスタの制約条件

プレインデクスおよびポストインデクス命令では、Rn に PC は使用できません。これらは、Rn にライトバックする形式です。

Rn での PC は、Thumb STC およびSTC2 命令では使用できません。

ラベル構文を使用するか、Rn が PC である ARM STC および STC2 命令は、ARMv6T2 以降では非推奨です。

Show/hide関連項目

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