processor.risc_v.trace ≡
Pretty printer for RISC-V disassembly.
enum Instruction : uint6 §
RV32i assembly instruction mnemonics (including pseudo instructions)
Values
-
unknown §
-
lui §
-
auipc §
-
jal §
-
jalr §
-
beq §
-
bne §
-
blt §
-
bge §
-
bltu §
-
bgeu §
-
lb §
-
lh §
-
lw §
-
lbu §
-
lhu §
-
sb §
-
sh §
-
sw §
-
addi §
-
slti §
-
sltiu §
-
xori §
-
ori §
-
andi §
-
slli §
-
srli §
-
srai §
-
add §
-
sub §
-
sll §
-
slt §
-
sltu §
-
xor §
-
srl §
-
sra §
-
or §
-
and §
-
fence §
-
ecall §
-
ebreak §
-
mul §
-
mulh §
-
mulhsu §
-
mulhu §
-
csrr §
-
rdcycle §
-
rdcycleh §
-
rdtime §
-
rdtimeh §
-
rdinstret §
-
ret §
-
j §
-
jr §
-
li §
-
nop §
-
mv §
inline string disasm(uint32 binary, Decoded decoded) §
Return string representation of disassembled instruction
inline Instruction disasm_instr(Decoded decoded) §
Disassemble a decoded instruction
Arguments
-
Decoded decoded
Decoded instruction from
tracecallback
inline void print_trace( auto hid, auto pc, auto instr, Decoded decoded, optional<int32> value ) §
Print dynamic instruction trace. Can be used as trace
handler.
template < auto IMEM_LENGTH_WORDS, auto DMEM_LENGTH, auto MMIO_LENGTH, auto IMEM_ORIGIN_WORDS, auto DMEM_ORIGIN, auto MMIO_ORIGIN, auto IMEM_TCM_SIZE_WORDS > inline void print_memory_map() §
Print a diagram of memory map. Usually this function is called
indirectly via print_memory_map method of
RISC_V class which passes appropriate template
arguments.