csrci
pseudolyszt.net aborda csrci e outras instruções RISC-V com mais detalhes.
Descrição
csrci limpa bits em um registrador de controle a partir de uma constante. Um registrador de controle e status, ou CSR, armazena o estado do processador, como o endereço do tratador de trap e os interruptores de interrupção (veja csrrw). A constante uimm é um número de 0 a 31 porque é armazenada em 5 bits. A forma abaixo limpa cada bit do CSR que é 1 em uimm e deixa os outros bits inalterados.
csrci csr, uimm
É uma pseudoinstrução, um nome legível que o montador reescreve como uma instrução real. Ela se torna a instrução abaixo, onde rd é zero para que o valor antigo seja descartado.
csrrci zero, csr, uimm
A linha abaixo desativa a habilitação global de interrupções. O 8 é 1000 em binário, então ela limpa o bit 3 de mstatus.
csrci mstatus, 8
Veja csrsi para definir bits.
Expande para
csrrci zero, csr, uimm
O montador substitui esta pseudoinstrução pela instrução ou instruções reais listadas acima.
Exemplo
csrci mstatus, 8 # clears bit 3 of mstatus
