csrrci
lyszt.net tratta csrrci e altre istruzioni RISC-V in modo più dettagliato.
Descrizione
csrrci è csrrc con una maschera costante al posto di un registro. La i sta per immediate, una costante scritta nell'istruzione. La costante uimm è un numero da 0 a 31 perché è memorizzata in 5 bit. Il vecchio valore del CSR va in rd, poi ogni bit che è 1 in uimm viene azzerato a 0 nel CSR.
csrrci rd, csr, uimm
La riga seguente azzera il bit 3 di mstatus, il che disattiva l'abilitazione globale degli interrupt, e lascia il valore precedente in t1. L'8 è il binario 1000.
csrrci t1, mstatus, 8
Solo i bit da 0 a 4 possono essere azzerati in questo modo. Quando uimm è 0, il CSR viene letto e non scritto. Quando rd è zero, il vecchio valore viene scartato, il che è la forma abbreviata csrci. Vedi csrrc per la forma con registro.
Esempio
csrrci t1, mstatus, 8 # clears bit 3 of mstatus, t1 = old mstatus
