RFE

例外から復帰する命令です。

Show/hide構文

RFE{addr_mode}{cond} Rn{!}

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

addr_mode

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

IA

転送単位でアドレスをポストインクリメントします(フル下降スタック)。

IB

転送単位でアドレスをプレインクリメントします(ARM のみ)。

DA

転送単位でアドレスをポストデクリメントします(ARM のみ)。

DB

転送単位でアドレスをプレデクリメントします。

addr_mode を省略すると、デフォルトで IA(ポストインクリメント)が使用されます。

cond

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

Note

cond を指定できるのは、Thumb コードで、前に IT 命令を使用した場合のみです。この命令は、ARM では無条件命令です。

Rn

ベースレジスタを指定します。Rn に PC は指定できません。

!

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

Show/hide使用法

SRS 命令を使用して復帰状態を保存した場合は、RFE を使用して例外から復帰できます。Rn は通常は SP であり、復帰状態情報は保存されます。

Show/hide演算

Rn に保持されているアドレスと、その次のアドレスから、PC と CPSR をロードします。また、必要に応じて Rn を更新できます。

Show/hide注釈

RFE は、アドレスを PC に書き込みます。例外復帰後に使用される命令セットに合わせて、このアドレスの境界整列を調整する必要があります。

  • ARM 命令セットに復帰するには、PC に書き込むアドレスをワード境界で整列する必要があります。

  • Thumb 命令セットに復帰するには、PC に書き込むアドレスをハーフワード境界で整列する必要があります。

  • Jazelle® 命令セットに復帰する場合、PC に書き込むアドレスの境界整列について、制限はありません。

これらの規則に違反した結果は、予測できません。ただし、適切な例外開始メカニズムの後で復帰するために命令を使用する場合、ソフトウェア側に特別な予防策は必要ありません。

アドレスがワード境界で整列されていない場合、RFERn の最下位 2 ビットを無視します。

アーキテクチャ上では、RFE によって生成される、メモリの各ワードへのアクセスの時間的順序が定義されていません。アクセス順序の影響を受けるメモリマップされた I/O 置では、この命令を使用しないで下さい。

非特権モードでのソフトウェア実行時には RFE を使用しないで下さい。

ThumbEE では RFE を使用しないでください。

Show/hideアーキテクチャ

この ARM 命令は、ARMv6 以降で使用できます。

この 32 ビット Thumb 命令は、ARMv6T2 以降で使用できます。ただし、ARMv7-M アーキテクチャでは使用できません。

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

Show/hide

    RFE sp!

Show/hide関連項目

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