I-type
Last updated
Last updated
The funct7
and rs2
fields from R-format are replaced by 12-bit signed immediate, imm[11:0]
(in range [-2048, 2047]).
Remaining fields (rs1
, funct3
, rd
, opcode
) same as R-format.
Immediate is always sign-extended to 32-bits before use in an arithmetic operation.
Load instructions are also I-type.
Reg[rd] <- Mem[Reg[rs1] + offset]
The 12-bit immediate is added to the base address in rs1
to form the memory address
The value loaded from memory is stored in register rd
Note that the funct3
field is to specify the width (i.e., the amount of bytes) and signedness of load data.