csrwiPseudoelement

csrwi

Pseudoelement
RISC-V Assembler Referenz

lyszt.net behandelt csrwi und andere RISC-V-Befehle ausführlicher.

Beschreibung

csrwi schreibt eine Konstante in ein Steuerregister. Ein Steuer- und Statusregister, oder CSR, enthält den Prozessorzustand wie die Trap-Handler-Adresse und die Interrupt-Schalter (siehe csrrw). Die Konstante uimm ist eine Zahl von 0 bis 31, da sie in 5 Bits gespeichert wird. Die folgende Form schreibt sie in das CSR und verwirft den alten Wert.

csrwi csr, uimm

Es ist eine Pseudoinstruktion, ein lesbarer Name, den der Assembler in eine echte Instruktion umschreibt. Sie wird zur untenstehenden Instruktion, wobei rd zero ist, sodass der alte Wert nicht gelesen wird.

csrrwi zero, csr, uimm

Die folgende Zeile schreibt 0 in mie, was alle Interrupt-Quellen ausschaltet.

csrwi mie, 0

Ein Wert über 31 passt nicht, daher wird ein größerer Wert zuerst in ein Register geschrieben und mit csrw geschrieben.

Wird erweitert zu

csrrwi zero, csr, uimm

Der Assembler ersetzt diese Pseudoanweisung durch die oben aufgeführte(n) echte(n) Anweisung(en).

Beispiel

csrwi mie, 0   # mie = 0