RFE

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

Show/hide構文

RFE{addr_mode}{cond} Rn{!}

各項目には以下の意味があります。

addr_mode

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

IA

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

IB

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

DA

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

DB

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

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

cond

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

Note

cond を指定できるのは T32 コードで、前に IT 命令を使用した場合のみですが、これは非推奨です。この命令は、A32 では無条件命令です。

Rn

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

!

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

Show/hide使用法

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

Show/hide演算

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

Show/hide注釈

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

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

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

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

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

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

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

Show/hide可用性

この 32 ビット命令は、A32 および T32 で使用できます。

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

Show/hide

    RFE sp!

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814