MSR

イミディエート値または汎用レジスタの内容をプログラム状態レジスタ(PSR)の指定されたフィールドにロードします。

Show/hide構文

MSR{cond} APSR_flags, Rm

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

cond

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

flags

移動する APSR フラグ(複数可)を指定します。flags には以下の 1 つ以上を指定できます。

nzcvq

ALU フラグフィールドマスク、PSR[31:27](ユーザモード)

g

SIMD GE フラグフィールドマスク、PSR[19:16](ユーザモード)

Rm

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

Show/hide構文(ARMv7-M と ARMv6-M を除く)

ARMv7 と ARMv6M 以外のアーキテクチャでは以下の構文も使用できます。

MSR{cond} APSR_flags, #constant
MSR{cond} psr_fields, #constant
MSR{cond} psr_fields, Rm

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

cond

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

flags

移動する APSR フラグ(複数可)を指定します。flags には以下の 1 つ以上を指定できます。

nzcvq

ALU フラグフィールドマスク、PSR[31:27] (ユーザモード)

g

SIMD GE フラグフィールドマスク、PSR[19:16](ユーザモード)

constant

数値を求める式を指定します。この値は、32 ビットのワード内でビットを偶数ロテートして得られる 8 ビットパターンに対応している必要があります。Thumb では使用できません。

Rm

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

psr

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

CPSR

デバッグ状態で使用、代わりに同義の APSR を使用します。

SPSR

任意のプロセッサ、特権モードでのソフトウェア実行でのみ使用します。

fields

移動する SPSR または CPSR フィールド(複数可)を指定します。fields には次のものを指定できます。

c

制御フィールドマスクバイト、PSR[7:0](特権モードでのソフトウェア実行)

x

拡張フィールドマスクバイト、PSR[15:8](特権モードでのソフトウェア実行)

s

ステータスフィールドマスクバイト、PSR[23:16](特権モードでのソフトウェア実行)

f

フラグフィールドマスクバイト、PSR[31:24](特権モードでのソフトウェア実行)

Show/hide構文(ARMv7-M と ARMv6-M のみ)

ARMv7 と ARMv6M では以下の構文も使用できます。

MSR{cond} psr, Rm

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

cond

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

Rm

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

psr

次のいずれかを指定できます。APSRIPSREPSRIEPSRIAPSREAPSRXPSRMSPPSPPRIMASKBASEPRIBASEPRI_MAXFAULTMASK、または CONTROL

Show/hide使用法

ユーザモードでは、以下のようになります。

  • APSR は条件フラグ、Q、または GE ビットにアクセスするために使用します。

  • CPSR の未割り当てビット、特権付きビット、または実行状態ビットへの書き込みが無視されます。そのため、ユーザモードのプログラムが特権モドでのソフトウェア実行に変更されることはありません。

ユーザモードまたはシステムモードの場合に SPSR にアクセスする場合、結果は予測できません。

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

ARM 命令では PC は使用できません。Rm での SP は ARM 命令で使用できますが、これらは ARMv6T2 以降では非推奨です。

Thumb 命令では PC または SP は使用できません。

Show/hide条件フラグ

この命令は、APSR_nzcvq または CPSR_f フィールドが指定されている場合にフラグを明示的に更新します。

Show/hideアーキテクチャ

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

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

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

Show/hide関連項目

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