ARM、Thumb、および ThumbEE 状態の切り替え

ARM 命令を実行中のプロセッサは、ARM 状態で動作しています。また、Thumb 命令を実行中のプロセッサは、Thumb 状態で動作しています。ThumbEE 命令を実行中のプロセッサは、ThumbEE 状態で動作しています。プロセッサは、Jazelle® 状態と呼ばれる別の状態でも動作できます。Jazelle 状態用のコードをアセンブラで直接アセンブルすることはできません。

各命令セットには、プロセッサ状態を変更する命令があります。

ARM 状態と Thumb 状態との切り替えを行うには、ARM または THUMB ディレクティブを使用して、正しいオペコードを生成するアセンブラモードに切り替える必要があります。ThumbEE コードを生成するには、THUMBX ディレクティブを使用します。CODE32 および CODE16 を使用するアセンブラコードはいまだにアセンブラでアセンブルできますが、新しいコードには ARM および THUMB を使用することを推奨します。

一方の状態のプロセッサで他方の命令セットの命令を実行することはできません。例えば、ARM 状態のプロセッサでは Thumb 命令を実行できませんまた、Thumb 状態のプロセッサでは ARM 命令を実行できません。このため、現在の状態とは異なる命令セットの命令をプロセッサが受け取らないよにする必要があります。

リセット後の初期状態は、使用しているプロセッサとそのコンフィギュレーションによって異なります。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311