This school project was created for the SS (Sistemski Softver, en. System Software) course, which is part of the Bachelor's studies at the School of Electrical Engineering, University of Belgrade.
This project consisted of two parts:
- an assembler for the pre-defined assembly language. The two pass assembler generates a custom object file which can be relocated and linked as needed.
- an emulator for a finctional architecture (defined in the project statement). The interpretive emulator loads a single object file and executes it, while supporting interrupts and i/o byte streams as defined in the statement.
The project statement along with the definition of the fictional architecture is given in the docs/statement
folder. The final reports with short descriptions of the assembler and emulator are given in the docs/report
folder. All the docs are in Servian.
The tests
folder contains different inputs (assembler code for the first part, obj files for the second) for showcasing the capabilities of the solution.