The goal of this project is to implement a toolchain (assembler and linker) and an emulator for an abstract computer system. The assembler is specific to the defined abstract computer system, while the linker is designed to be target-architecture independent.
To build the project, use the provided Makefile:
makeThis will create the following executables:
asemblerlinkeremulator
The start.sh script demonstrates how to assemble, link, and emulate a sample program:
./start.shThis script will:
- Assemble the
.sfiles in thetests/directory (e.g., tests/main.s, tests/handler.s, tests/isr_terminal.s, tests/isr_timer.s) into object files (.o). - Link the object files into a
program.hexfile. - Run the
program.hexfile with the emulator.