csrrsi

csrrsi

Asembler RISC-V Referencja

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