csrrsi
lyszt.net obejmuje csrrsi i inne instrukcje RISC-V w większych szczegółach.
Opis
csrrsi to csrrs ze stałą maską w miejscu rejestru. Litera i oznacza immediate (natychmiastowy), stałą zapisaną w instrukcji. Stała uimm to liczba od 0 do 31, ponieważ jest przechowywana w 5 bitach. Stara wartość CSR trafia do rd, następnie każdy bit, który jest 1 w uimm, jest ustawiany na 1 w CSR.
csrrsi rd, csr, uimm
Poniższa linia ustawia bit 3 mstatus i pozostawia poprzednią wartość w t1. 8 to binarnie 1000.
csrrsi t1, mstatus, 8
W ten sposób można ustawić tylko bity od 0 do 4. Bit 3 mstatus, globalne włączenie przerwań, pasuje. Bit 11 mie, włączenie przerwań zewnętrznych, nie pasuje, więc ten wymaga csrrs z rejestrem przechowującym 0x800. Gdy uimm wynosi 0, CSR jest odczytywany, a nie zapisywany. Gdy rd to zero, stara wartość jest odrzucana, co jest skrótem csrsi. Zobacz csrrs dla formy z rejestrem.
Przykład
csrrsi t1, mstatus, 8 # sets bit 3 of mstatus, t1 = old mstatus
