csrci疑似

csrci

疑似
RISC-V アセンブリ 参考

lyszt.netはcsrciおよびその他のRISC-V命令をより詳しく扱っています。

説明

csrci は定数を使って制御レジスタのビットをクリアします。制御およびステータスレジスタ(CSR)は、トラップハンドラアドレスや割り込みスイッチなどのプロセッサ状態を保持します(csrrw を参照)。定数 uimm は 5 ビットに格納されるため、0 から 31 までの数値です。以下の形式は、uimm で 1 になっている CSR のすべてのビットをクリアし、他のビットは変更しません。

csrci csr, uimm

これは疑似命令であり、アセンブラが実際の命令に書き換える読みやすい名前です。これは以下の命令になり、rd は zero なので古い値は破棄されます。

csrrci zero, csr, uimm

以下の行はグローバル割り込みイネーブルをオフにします。8 は 2 進数で 1000 なので、mstatus のビット 3 をクリアします。

csrci mstatus, 8

ビットの設定については csrsi を参照してください。

展開先

csrrci zero, csr, uimm

アセンブラはこの疑似命令を、上記に示された実際の命令または複数の命令に置き換えます。

例

csrci mstatus, 8   # clears bit 3 of mstatus