csrsi
pseudolyszt.net obejmuje csrsi i inne instrukcje RISC-V w większych szczegółach.
Opis
csrsi ustawia bity w rejestrze sterującym na podstawie stałej. Rejestr sterująco-statusowy, czyli CSR, przechowuje stan procesora, taki jak adres procedury obsługi trapów i przełączniki przerwań (zobacz csrrw). Stała uimm to liczba od 0 do 31, ponieważ jest przechowywana w 5 bitach. Poniższa postać ustawia każdy bit CSR, który jest równy 1 w uimm, i pozostawia pozostałe bity bez zmian.
csrsi csr, uimm
Jest to pseudoinstrukcja, czytelna nazwa, którą asembler przepisuje na rzeczywistą instrukcję. Staje się ona poniższą instrukcją, gdzie rd to zero, więc stara wartość jest odrzucana.
csrrsi zero, csr, uimm
Poniższa linia włącza globalne zezwolenie na przerwania. 8 to binarnie 1000, więc ustawia bit 3 rejestru mstatus.
csrsi mstatus, 8
W ten sposób można ustawić tylko bity od 0 do 4, więc bit 11 rejestru mie wymaga csrs z rejestrem. Aby wyczyścić bity, zobacz csrci.
Rozwija się do
csrrsi zero, csr, uimm
Asembler zastępuje tę pseudoinstrukcję rzeczywistą instrukcją lub instrukcjami wymienionymi powyżej.
Przykład
csrsi mstatus, 8 # sets bit 3 of mstatus
