csrcipseudo

csrci

pseudo
Assembleur RISC-V Référence

lyszt.net couvre csrci et d'autres instructions RISC-V plus en détail.

Description

csrci efface des bits dans un registre de contrôle à partir d'une constante. Un registre de contrôle et d'état, ou CSR, contient l'état du processeur tel que l'adresse du gestionnaire de trappe et les commutateurs d'interruption (voir csrrw). La constante uimm est un nombre de 0 à 31 car elle est stockée sur 5 bits. La forme ci-dessous efface chaque bit du CSR qui vaut 1 dans uimm et laisse les autres bits inchangés.

csrci csr, uimm

C'est une pseudo-instruction, un nom lisible que l'assembleur réécrit en une instruction réelle. Elle devient l'instruction ci-dessous, où rd est zero afin que l'ancienne valeur soit ignorée.

csrrci zero, csr, uimm

La ligne ci-dessous désactive l'activation globale des interruptions. Le 8 est 1000 en binaire, donc elle efface le bit 3 de mstatus.

csrci mstatus, 8

Voir csrsi pour définir des bits.

Se développe en

csrrci zero, csr, uimm

L'assembleur remplace cette pseudo-instruction par la ou les instructions réelles listées ci-dessus.

Exemple

csrci mstatus, 8   # clears bit 3 of mstatus