csrrwi

csrrwi

Assembly RISC-V Riferimento

lyszt.net tratta csrrwi e altre istruzioni RISC-V in modo più dettagliato.

Descrizione

csrrwi è csrrw con una costante al posto del registro sorgente. La i sta per immediate (immediato), 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 e uimm viene scritto nel CSR.

csrrwi rd, csr, uimm

La riga seguente scrive 0 in mie, il che disattiva tutte le sorgenti di interrupt, e lascia il mie precedente in t1.

csrrwi t1, mie, 0

Un valore superiore a 31 non entra, quindi un valore più grande viene prima messo in un registro e scritto con csrrw. Quando rd è zero, il CSR non viene letto, il che è la forma abbreviata csrwi. Vedi csrrw per sapere cos'è un CSR.

Il manuale RISC-V afferma che le forme immediate prendono un valore senza segno di 5 bit che viene esteso con zeri, cioè riempito con zeri a sinistra fino alla larghezza completa del registro.

Esempio

csrrwi t1, mie, 0   # mie = 0, t1 = old mie