RARS - RISC-V Assembler and Runtime Simulator
Release 1.0
August 2017
Operating Requirements
RARS is written in Java and
requires at least Release 1.8 of the Java SE Java Runtime Environment (JRE) to work.
The graphical IDE is implemented using Swing. It has been tested on Windows 8 and Ubuntu 16;
it should also work on Windows XP and 7 as well as Mac OS X.
Some RARS Assembler and Simulator Limitations
RARS aims to assemble RV32IMFN.
Limitations of RARS as of Release 1.0 include:
- Memory segments (text, data, stack) are limited to 4MB each starting at their
respective base addresses.
- There is no pipelined mode.
- If you open a file which is a link or shortcut to another file, RARS will not
open the target file. The file open dialog is implemented using Java Swing's JFileChooser,
which does not support links.
- Very few configuration changes, besides those in the Settings menu, are saved from one session to the next.
The editor settings, which include font settings and display of line numbers, are saved.
- The IDE will work only with the RARS assembler. It cannot be used
with any other compiler, assembler, or simulator. The RARS assembler and simulator
can be used either through the IDE or from a command prompt.
-
Floating point support is not completely compliant because Java does not provide low enough level access to
floating point operations.
-
Control and status registers cannot be referenced by name in instructions. This is a fully fixable issue.
-
Interrrupt support is a little flawed there is more work to be done to make it close to compliant with the specification.
- Bug: The error message highlighter does not automatically select the code for the first assembly
error if the file containing the error is not open at the time of assembly (assemble-on-open, assemble-all).
- Bug: There appears to be a memory leak in the Editor. Several different people have independently
reported the same behavior: severe slowdown in editor response during an extended interactive session.
If RARS is exited and restarted, this behavior disappears and the editor responds instantly to actions.