2016-09-30 4 views

答えて

0

あなたが使っているどのARM命令セットのバージョン指定されていないが、 あなたはほぼ確実に保存されたプログラムステータスレジスタ(SPSR)でそれを見つけることができます。

具体的には、T-bitの値を知りたいとします。 Tビットが設定されている場合にTビットがある場合

  • 、プロセッサはThumb状態
  • で実行されている:

    Tは

    Tビットは動作状態を反映するビットクリア、プロセッサはARM状態で実行されます。

動作状態は、CPTBIT外部信号に反映されます。

割り込みから戻ろうとしている場合は、サムコードかARMコードかに関わらず、一般的に心配する必要はありません。これを処理する特別なreturn-from-interrupt命令があります。

私が取り組んだ最後のARMプラットフォームでは、割り込みから戻って以前の実行状態を復元するためにmovs pc, lrを実行するだけで済みます。

+0

Im lpc2378を使用しています – tracy00

+1

LRオフセットはARMから+4、Thumbから+2の未定義命令です。それ以外の場合、LRオフセットは純粋に例外のタイプに依存します(SVCの場合は、実際には0です)。 – Notlikethat

関連する問題