csrwi
pseudolyszt.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
