riscemu.instructions.RV32I module
RiscEmu (c) 2021 Anton Lydike
SPDX-License-Identifier: MIT
- class riscemu.instructions.RV32I.RV32I(cpu: CPU)
Bases:
InstructionSet
The RV32I instruction set. Some instructions are missing, such as fence, fence.i, rdcycle, rdcycleh, rdtime, rdtimeh, rdinstret, rdinstreth All atomic read/writes are also not implemented yet
See https://maxvytech.com/images/RV32I-11-2018.pdf for a more detailed overview
- instruction_lb(ins: Instruction)
- instruction_lh(ins: Instruction)
- instruction_lw(ins: Instruction)
- instruction_lbu(ins: Instruction)
- instruction_lhu(ins: Instruction)
- instruction_sb(ins: Instruction)
- instruction_sh(ins: Instruction)
- instruction_sw(ins: Instruction)
- instruction_sll(ins: Instruction)
- instruction_slli(ins: Instruction)
- instruction_srl(ins: Instruction)
- instruction_srli(ins: Instruction)
- instruction_sra(ins: Instruction)
- instruction_srai(ins: Instruction)
- instruction_add(ins: Instruction)
- instruction_addi(ins: Instruction)
- instruction_sub(ins: Instruction)
- instruction_lui(ins: Instruction)
- instruction_auipc(ins: Instruction)
- instruction_xor(ins: Instruction)
- instruction_xori(ins: Instruction)
- instruction_or(ins: Instruction)
- instruction_ori(ins: Instruction)
- instruction_and(ins: Instruction)
- instruction_andi(ins: Instruction)
- instruction_slt(ins: Instruction)
- instruction_slti(ins: Instruction)
- instruction_sltu(ins: Instruction)
- instruction_sltiu(ins: Instruction)
- instruction_beq(ins: Instruction)
- instruction_bne(ins: Instruction)
- instruction_blt(ins: Instruction)
- instruction_bge(ins: Instruction)
- instruction_bltu(ins: Instruction)
- instruction_bgeu(ins: Instruction)
- instruction_j(ins: Instruction)
- instruction_jal(ins: Instruction)
- instruction_jalr(ins: Instruction)
- instruction_ret(ins: Instruction)
- instruction_ecall(ins: Instruction)
- instruction_ebreak(ins: Instruction)
- instruction_scall(ins: Instruction)
- instruction_sbreak(ins: Instruction)
- instruction_nop(ins: Instruction)
- instruction_li(ins: Instruction)
- instruction_la(ins: Instruction)
- instruction_mv(ins: Instruction)