RISC-V Assembler and Workable, Rewritable System (RAWRS)


RAWRS is a learning tool designed to help teach architecture concepts through the writing of assembly language. The language used is RISC-V, an up-and-coming open RISC architecture based on MIPS. RAWRS itself is loosely modeled after its own namesake, MARS, which is an equivalent learning solution for MIPS assembly.

RAWRS is built off of entirely free and open software and is designed to be easy to deploy to any modern environment as a static website. It uses emscripten to compile the free and open toolchain that RAWRS uses to assemble and inspect application binaries all within the web browser's native JavaScript engine.

The simulator (or emulator if you must) that runs the RISC-V application and kernel is TinyEmu by Fabrice Bellard, and is itself permissively licensed and open. Without this, the modifications required to make it work in an educational environment would not have been possible. And in the same spirit, RAWRS is offered, along with the educational RISC-V kernel written alongside it, completely openly and free.

Related Work

This project is not to be confused with RARS by Benjamin Landers (another RISC-V project derived more directly by MARS) which can be found at https://github.com/TheThirdOne/rars. There is some effort to keep RAWRS in line with conventions found in this Java-based RARS.

Source Code

You can find the source code for RAWRS on GitLab.


The main web application and program content is licensed under the terms of the GNU AGPLv3.0 license.





Open Source Software

This program would not be possible if not for the existing and ongoing effort provided by the community at large within these independently developed and maintained projects.