csrs
pseudolyszt.net tratta csrs e altre istruzioni RISC-V in modo più dettagliato.
Descrizione
csrs imposta bit in un registro di controllo. Un registro di controllo e stato, o CSR, contiene lo stato del processore come l'indirizzo del gestore delle trap e gli interruttori di interrupt (vedi csrrw). La forma seguente imposta ogni bit del CSR che è 1 in rs e lascia invariati gli altri bit.
csrs csr, rs
È una pseudoistruzione, un nome leggibile che l'assembler riscrive in un'istruzione reale. Diventa l'istruzione seguente, dove rd è zero così il vecchio valore viene scartato.
csrrs zero, csr, rs
Gli interrupt vengono abilitati con due chiamate a csrs. La prima imposta il bit 11 di mie, l'abilitazione degli interrupt esterni. La seconda imposta il bit 3 di mstatus, l'abilitazione globale degli interrupt.
li t0, 0x800 csrs mie, t0 li t0, 8 csrs mstatus, t0
Entrambi gli interruttori devono essere attivi prima che il processore accetti un interrupt. Il pulsante ha anche il proprio registro di abilitazione, descritto nella pagina GPIO. Vedi csrc per cancellare i bit.
Il manuale RISC-V elenca csrs e csrc come le abbreviazioni per impostare e cancellare i bit del CSR quando il vecchio valore non è necessario.
Si espande in
csrrs zero, csr, rs
L'assembler sostituisce questa pseudoistruzione con la o le istruzioni reali elencate sopra.
Esempio
li t0, 8 csrs mstatus, t0 # sets bit 3 of mstatus
