An emulator for an abstract RISC instruction set and a toolchain consisting of an assembler and a linker that can compile the specified assembly language and produce a binary file, ready to be loaded and executed in the emulator.
Explore the project »
Report Bug
·
Request Feature
Table of Contents
An implementation of an emulator for an abstract RISC instruction set and a toolchain consisting of an assembler and a linker that can compile the specified assembly language and produce a binary file, ready to be loaded and executed in the emulator.
To get a local copy up and running follow these simple steps.
List of things you need to do:
-
download & install an already equipped linux virtual machine with pre-installed Visual Studio Code,
-
open the virtual machine and run Visual Studio Code (login password: etf).
Setup & execution:
- Clone the repo:
git clone https://github.com/jovan-vukic/compiler-toolchain.git
- Type the following into the terminal in VS Code:
./compile.sh
- Move to the
tests
folder and type in the terminal:./start.sh
Emulated processor executed halt instruction
Emulated processor state: psw=0b0110000000000000
r0=0xabcd r1=0x0001 r2=0x0002 r3=0x0003
r4=0x0004 r5=0x0005 r6=0x0000 r7=0x012a
Assembler usage
$ {ASSEMBLER} -o <output_file> <input_file>
Option | Explanation |
---|---|
-o file | Specify relocatable object output file |
Linker usage
$ {LINKER} -hex -o <output_file> <input_files>
Option | Explanation |
---|---|
-o file | Specify output file |
-hex | Create executable .hex output file |
Emulator usage
$ {EMULATOR} <input_file>
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.md
for more information.
Jovan - @jovan-vukic
Project Link: https://github.com/jovan-vukic/compiler-toolchain
Used resources: