csrrci

csrrci

Ensamblador RISC-V Referencia

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