Supports RV32I. 1MiB DMEM (little endian), 4KiB IMEM. ; for single-line comments. >
to set a breakpoint. *: For labels. Click for more details.
This is a 32-bit RISC-V
simulator.
Only
RV32I instructions are supported (which means no built-in multiplication
or division).
There is 1MiB of data memory - from addresses 0x0000_0000 to 0x000F_FFFF. This memory is little
endian, and
non-aligned accesses are supported.
The instruction memory is 4KiB (1024 instructions), starting at address 0x0000_0000.
Execution is limited to 65536 CPU cycles (click
here to change limit).
Select limit for CPU cycles during execution.
2^16 (65536)
Fastest. Default.
2^26 (67108864)
Slowest. Not recommended.
Any text on a line following a semicolon (
;) is treated as a comment. Currently only
single-line
comments are supported.
To set a breakpoint, use the right carat (
>) at the beginning of a line before the
instruction.
To make a label, enter any text followed by a colon
: You can use the label as a
reference in
branch and jump instructions and the corresponding relative address will be calculated for
you.
Enter one instruction per line. The instructions will to the right, alongside their
machine code
representation. If the program is
still running, the instruction that will be executed next is highlighted green.
To execute a single instruction, press
[ctrl]+,
To run until the next breakpoint, press
[ctrl]+. This will execute until the PC reaches
an
instruction where a breakpoint exists.
Execution pauses just before the chosen instruction is run.
To execute the program until it finishes (or errors), press
[ctrl]+/
Click to hide details.
Enter values for input here (integers, comma-delimited):