csrcipseudo

csrci

pseudo
Ensamblador RISC-V Referencia

lyszt.net cubre csrci y otras instrucciones RISC-V con más detalle.

Descripción

csrci borra bits en un registro de control a partir de una constante. Un registro de control y estado, o CSR, contiene el estado del procesador, como la dirección del manejador de traps y los interruptores de interrupciones (véase csrrw). La constante uimm es un número de 0 a 31 porque se almacena en 5 bits. La forma siguiente borra todos los bits del CSR que son 1 en uimm y deja los demás bits sin cambios.

csrci csr, uimm

Es una pseudoinstrucción, un nombre legible que el ensamblador reescribe como una instrucción real. Se convierte en la instrucción siguiente, donde rd es zero, de modo que el valor antiguo se descarta.

csrrci zero, csr, uimm

La línea siguiente desactiva la habilitación global de interrupciones. El 8 es 1000 en binario, por lo que borra el bit 3 de mstatus.

csrci mstatus, 8

Véase csrsi para establecer bits.

Se expande a

csrrci zero, csr, uimm

El ensamblador reemplaza esta pseudoinstrucción con la instrucción o instrucciones reales enumeradas arriba.

Ejemplo

csrci mstatus, 8   # clears bit 3 of mstatus