¿Qué significa lui?
LUI (carga superior inmediata), el formato de instrucción de carga inmediata de bits altos es LUI rd, inmediata. x[rd] = sext(immediate[31:12] lt; lt; 12)
Como se muestra en el código de máquina, el código de operación de LUI es 011_0111. Esta instrucción escribe U-inmediato en los 20 bits superiores de rd y los 12 bits inferiores de rd se rellenan con ceros.
En términos generales, el ancho de bits de cada instrucción es limitado y el nivel de software se puede llamar código de codificación. Incluye principalmente el código de operación de la instrucción, los operandos de la instrucción, los registros y otra información. Supongamos: lui a0, 4112, que almacena el operando actual 4112 en los primeros 20 bits del registro a0. En este momento, el registro a0 almacena 0000 0001 0000 0001 0000 0000 0000 0000. Por lo general, algunas instrucciones operan con constantes. Cuando la constante de operación actual excede el rango inmediato que esta instrucción puede manejar, se usará la instrucción lui para expandir el límite del rango inmediato.
SRAI (desplazamiento aritmético a la derecha inmediato), el formato de instrucción de desplazamiento aritmético inmediato a la derecha es SRAI rd, rs1, shamt. x[rd] = x[rs1] ? shamt
El OP-IMM de SRAI es 001_0011, funct3 es 101 e IMM[10] es 1. Esta instrucción desplaza el valor de rs1 hacia la derecha en bits falsos[4:0]. Los bits altos de rs1 se rellenan con el rs1[31] original (el bit de signo se rellena) y el resultado se escribe en rd.