Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
nemónico | fun(7) | rs2(5) | rs1(5) | fun(3) | rd(5) | opcode |
---|---|---|---|---|---|---|
add | 0000000 | 000 | 0110011 | |||
sub | 0100000 | 000 | 0110011 | |||
and | 0000000 | 111 | 0110011 | |||
or | 0000000 | 110 | 0110011 | |||
xor | 0000000 | 100 | 0110011 | |||
slt | 0000000 | 010 | 0110011 | |||
sltu | 0000000 | 011 | 0110011 | |||
sll | 0000000 | 001 | 0110011 | |||
srl | 0000000 | 101 | 0110011 | |||
sra | 0100000 | 101 | 0110011 |
Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
nemónico | Inm(7) | Inm(5) | rs1(5) | fun(3) | rd(5) | opcode |
---|---|---|---|---|---|---|
addi | 000 | 0010011 | ||||
andi | 111 | 0010011 | ||||
ori | 110 | 0010011 | ||||
xori | 100 | 0010011 | ||||
slti | 010 | 0010011 | ||||
sltui | 011 | 0010011 | ||||
slli | 0000000 | 001 | 0010011 | |||
srli | 0000000 | 101 | 0010011 | |||
srai | 0100000 | 101 | 0010011 | |||
lb | 000 | 0000011 | ||||
lh | 001 | 0000011 | ||||
lw | 010 | 0000011 | ||||
lbu | 100 | 0000011 | ||||
lhu | 101 | 0000011 | ||||
jalr | ||||||
frence | ||||||
frence.i | ||||||
ecall | ||||||
break |
*El inm(5) en las instrucciones "slli", "srli" y "srai" se conoce como (shamt) y no precisa de más de 5bits, el inm(7) queda reservado como en las instrucciones tipo R a complementar el código de operación
Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
nemónico | Inm(7) | rs2(5) | rs1(5) | fun(3) | inm(5) | opcode |
---|---|---|---|---|---|---|
sb | 000 | 0100011 | ||||
sh | 011 | 0100011 | ||||
sw | 010 | 0100011 |
*En este tipo de instrucción también se concatenan los inmediatos, pero lo hacen de una manera diferente.
Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
nemónico | Inm(7) | rs2(5) | rs1(5) | fun(3) | inm(5) | opcode |
---|---|---|---|---|---|---|
beq | 000 | 1100011 | ||||
bne | 001 | 1100011 | ||||
blt | 100 | 1100011 | ||||
bge | 101 | 1100011 | ||||
bltu | 110 | 1100011 | ||||
bgeu | 111 | 1100011 |
Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
Las Instrucciones tipo J tienen el imm está escrito 31[19-12]20[30-21] también se puede ver expresado como 20[10:1]11[19:12] siendo este el orden de los pesos
nemónico | Inm(20) | rd | opcode |
---|---|---|---|
jal |
Cada instrucción está compuesta por 32 bits y como RV32I tiene 32 registros necesita 5bits para referenciar cada registro.
Las instrucciones tipo U tienen el imm ordenado desde el carácter [31-12]
nemónico | Inm(20) | rd | opcode |
---|---|---|---|
lui | |||
auipc |