csrwipseudo

csrwi

pseudo
Assembleur RISC-V Référence

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

Description

csrwi écrit une constante dans un registre de contrôle. 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 l'écrit dans le CSR et ignore l'ancienne valeur.

csrwi csr, uimm

C'est une pseudo-instruction, un nom lisible que l'assembleur réécrit en une véritable instruction. Elle devient l'instruction ci-dessous, où rd est zero afin que l'ancienne valeur ne soit pas lue.

csrrwi zero, csr, uimm

La ligne ci-dessous écrit 0 dans mie, ce qui désactive toutes les sources d'interruption.

csrwi mie, 0

Une valeur supérieure à 31 ne tient pas, donc une valeur plus grande est d'abord placée dans un registre et écrite avec csrw.

Se développe en

csrrwi zero, csr, uimm

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

Exemple

csrwi mie, 0   # mie = 0