csrciPseudoelement

csrci

Pseudoelement
RISC-V Assembler Referenz

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

Beschreibung

csrci löscht Bits in einem Steuerregister anhand einer Konstante. 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, weil sie in 5 Bits gespeichert wird. Die folgende Form löscht jedes Bit des CSR, das in uimm 1 ist, und lässt die anderen Bits unverändert.

csrci 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 verworfen wird.

csrrci zero, csr, uimm

Die folgende Zeile schaltet die globale Interrupt-Freigabe aus. Die 8 ist binär 1000, also löscht sie Bit 3 von mstatus.

csrci mstatus, 8

Siehe csrsi zum Setzen von Bits.

Wird erweitert zu

csrrci zero, csr, uimm

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

Beispiel

csrci mstatus, 8   # clears bit 3 of mstatus