blob: 4314d5803b72a2d4644bf391e5b56246be93bfc2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# rva
This is an assembler for a custom ISA nicknamed "RISC V[ECTOR]". It takes in an assembly program syntactically similar to MIPS (see input) and outputs a list of binary numbers corresponding to the instructions. The output is compatible with the [RISC V[ECTOR]](https://github.com/bdunahu/RISC-V-ECTOR-) simulator.
## Dependencies
A common-lisp implementation (SBCL) and the following libraries are required to compile:
- SBCL (tested with v2.5.2)
- ASDF (tested with v3.3.7)
- fiveam (tested with v3.3.7)
- clingon (tested with v0.5.0-1.f2a730f)
- esrap (tested with v0.18-4.d806138)
## To run
Run `make` to produce a binary file in `/bin/`. To run the unit tests, run `make test`. See the make file for further options.
## Todo
- add named register aliases
- add 'mov'', 'leave' pseudo-instructions
- allow .text and .data to appear anywhere, any number of times
- rewrite tests to be independent of each other
- write negative test cases
# About
Created at the University of Massachusetts, Amherst
CS535 -- Computer Architecture and ISA Design
|