Skip to main content

IAR Embedded Workbench for Arm 9.70.x

__arm_wsr、__arm_wsr64、__arm_wsrp

このセクションの内容:
構文
void __arm_wsr(const char * special_reg, _uint32_t value);
void __arm_wsr64(const char * special_reg, uint64_t value);
void __arm_wsrp(const char * special_reg, const void * value);
パラメータ

special_reg

システムレジスタを指定している文字列リテラル。

value

システムレジスタにライトする値。

説明

DPレジスタにライトします。文字列リテラルを使用して、ライトするレジスタを指定します。__arm_wsr および __arm_wsrpでは、文字列リテラルは、コンパイラオプション‑‑cpuで指定されたアーキテクチャのMSRまたはVMSR命令で許可されたシステムレジスタの名前を指定できます。

__arm_wsrおよび__arm_wsrpでは、文字列リテラルは、以下のフォーマットを使用して32ビットコプロセッサレジスタも指定できます。

coprocessor : opc1 :c CRn :c CRm : opc2

__arm_wsr64では、文字列リテラルは、以下のフォーマットを使用して64ビットコプロセッサレジスタを指定できます。

coprocessor : opc1 :c CRm

両方のフォーマットにおいて:

  • コプロセッサはプロセッサ番号でcp0..cp15またはp0..p15

  • opc1 および opc2 はコプロセッサ固有の演算コード、0..7

  • CRn および CRm はコプロセッサレジスタ0..15

これらの組み込み関数は、Arm C言語拡張(ACLE)に従って定義されます。

注記

アプリケーションで組込み関数を使用するには、宣言するヘッダファイルを含める必要があります。組み込み関数の概要を参照してください。