| |||
Home > ディレクティブリファレンス > データ定義ディレクティブ > DCI |
ARM コードでは、DCI
ディレクティブは、ワード単位でメモリを割り当てて、4 バイト境界でアラインさせ、実行時のメモリの初期内容を定義します。
Thumb コードでは、DCI
ディレクティブは、ハーフワード単位でメモリを割り当てて、2
バイト境界でアラインさせ、実行時のメモリの初期内容を定義します。
{label
}DCI{.W}
expr
{,expr
}
各パラメータには以下の意味があります。
expr
数値式を指定します。
.W
指定されている場合は、Thumb コードに 4 バイトを挿入する必要があることを示します。
DCI
ディレクティブは、DCD
ディレクティブや DCW
ディレクティブとよく似ていますが、メモリ位置はデータではなくコードとしてマークされます。使用しているアセンブラのバージョンでサポートされていない新しい命令のマクロを記述する場合は、DCI
を使用して下さい。
ARM コードでは、DCI
は、必要に応じて、最初に定義されたワードの前に最大 3 バイトのパディングを挿入して、アラインメントを
4 バイトにします。Thumb コードでは、DCI
は、必要に応じて、先頭バイトのパディングを挿入して、アラインメントを 2
バイトにします。
DCI
を使用して、ビットパターンを命令ストリームに挿入できます。例えば、以下を使用します。
DCI 0x46c0
Thumb 演算 MOV r8,r8
が挿入されます。
MACRO ; このマクロは新しい命令 Rd,Rm を ; 適切なマシンコードに変換する newinst $Rd,$Rm DCI 0xe16f0f10 :OR:($Rd:SHL:12) :OR:$Rm MEND
『アセンブラの使用』: