csrrci
lyszt.net cubre csrrci y otras instrucciones RISC-V con más detalle.
Descripción
csrrci es csrrc con una máscara constante en lugar de un registro. La i significa inmediato, una constante escrita en la instrucción. La constante uimm es un número de 0 a 31 porque se almacena en 5 bits. El valor antiguo del CSR va a rd, luego cada bit que es 1 en uimm se pone a 0 en el CSR.
csrrci rd, csr, uimm
La línea siguiente borra el bit 3 de mstatus, lo que desactiva la habilitación global de interrupciones, y deja el valor anterior en t1. El 8 es binario 1000.
csrrci t1, mstatus, 8
Solo se pueden borrar los bits 0 a 4 de esta forma. Cuando uimm es 0, el CSR se lee y no se escribe. Cuando rd es zero, el valor antiguo se descarta, que es la forma abreviada csrci. Véase csrrc para la forma con registro.
Ejemplo
csrrci t1, mstatus, 8 # clears bit 3 of mstatus, t1 = old mstatus
