csrsipseudo

csrsi

pseudo
Asembler RISC-V Referencja

lyszt.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