riscemu(1)

πŸ“¦
version 2.2.7 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

✨ riscemu β€” the vibe ✨

okay bestie, let me put you ON to riscemu, the RISC-V emulator written in Python, from the riscemu manual page (section 1, for all my command-line girlies πŸ’…). no cap, this thing is giving "I run your RISC-V assembly and I look cute doing it."


🌸 NAME 🌸

riscemu β€” a RISC-V emulator in Python. that's it, that's the girl. πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

           [--stack_size [STACK_SIZE]] [--flen [FLEN]] [-v] [--interactive] [--ignore-exit-code]
           file.asm [file.asm ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, what's inside this emulator? let me tell you, she ate:

  • RISC-V Assembly parser β€” reads your asm, no drama
  • RISC-V Assembly loader β€” loads it up, main character energy
  • Emulation for most parts of the basic RISC-V instruction set and the M and A extensions β€” the classics, plus M and A
  • Naive memory emulator β€” yes bestie, "naive" is literally her own word for it, I'm just the messenger πŸ™ˆ
  • Basic implementation of some syscalls β€” some. not all. set your expectations accordingly ✨
  • A debugging environment β€” for when things go πŸ’€ and you need answers

πŸ’… OPTIONS πŸ’…

  • --strict-whitespace β€” do not treat all horizontal whitespace as equivalent. she's picky now. respect it. πŸ’€
  • --check-prefix β€” lets you change that default match keyword CHECK into literally any keyword you want. your keyword, your rules, periodt. πŸ‘‘
  • --implicit-check-not β€” adds an implicit CHECK-NOT check that works on every single input line. yes, every one. no lines escape the vibe check. 🫢
  • --help β€” display available options ✨
  • -h, --help β€” show this help message and exit πŸŽ€
  • --options OPTIONS, -o OPTIONS β€” toggle options! the available options are:
    • disable_debug β€” disable ebreak instructions
    • no_syscall_symbols β€” don't add symbols for SCALL_EXIT and others
    • fail_on_ex β€” if set, exceptions won't trigger the debugger (she's feral now 😭)
    • add_accept_imm β€” accept the "add rd, rs, imm" instruction (instead of addi). quoted exactly like that bestie, that's the literal instruction string.
    • unlimited_regs β€” allow an unlimited number of registers. infinity registers, zero consequences πŸ¦‹
    • libc β€” load a libc-like runtime (for malloc, etc.)
    • ignore_exit_code β€” don't exit with the program's exit code
  • --syscall-opts SYSCALL_OPTS, -so SYSCALL_OPTS β€” syscall options, the -so shorty is right there for you πŸ’–
  • --instruction-sets INSTRUCTION_SETS, -is INSTRUCTION_SETS β€” which instruction sets to load! the available ones are: RV32I, RV32M, RV32A, RV32F, RV32D, Zicsr, RV_Debug. and plot twist: all of them are enabled by default. the whole menu, no upcharge. πŸ”₯
  • --stack_size [STACK_SIZE] β€” stack size of loaded programs, and it defaults to 8MB. big stack energy. πŸ‘‘
  • --flen [FLEN] β€” hardware FLEN, either 32 or 64. literal binary choice bestie, pick one. defaults to 64.
  • -v, --verbose β€” verbosity level. and she's flexible β€” you can use it multiple times to go even more verbose. stack that -v. ⭐
  • --interactive β€” launches the interactive debugger instantly instead of loading any programs. straight to the debugger, no programs, we goin' in raw. πŸ’œ
  • --ignore-exit-code β€” ignore the exit code of the program and always return 0 if the program ran to completion. so 0 regardless. forgiving queen. 🧚

πŸ› REPORTING BUGS πŸ›

found a bug? (😭) please go visit the riscemu issues tracking system at:

they want to hear about it, fr fr. don't suffer in silence, bestie.


🌈 AUTHORS 🌈

this manual page was written by Bo YU <tsu.yubo@gmail.com> for the Debian project β€” but like, it may be used by others too. sharing is caring, iykyk. 🫢


legit reminder bb: the caveats in here are real. "naive memory emulator" and "some syscalls" are her actual words, so don't come for me when your weird syscall does a little nothing. that's canon. πŸ’€

and that's the whole page! this was riscemu, manual page riscemu(1), dated 21 August 2025. slay, go emulate something iconic. πŸŽ€βœ¨πŸ‘‘

πŸ“¦ where this page comes from