Finish your simulator of SIC/XE computer which you worked on in the last three exercises. Consult lectures, the book, slides and other notes for the specification of the computer. Implement at least the following functionalities:
- devices - devices 0, 1, 2 map to standard input/output/error
- all kinds of addressing
- all kinds of instruction formats
- instructions for (integer) arithmetics, shifting, etc.
- jump instructions
- load and store instructions
- add also support for automatic execution ((start, stop, and step commands).
Use your creativity and generate an idea for an addition of some functionality for you simulator.
Example: support for floating point instructions, additional devices, multicore SIC/XE, disassembly view, memory view, watches, breakpoints, etc.
Store your source code and other material in your Subversion repository. Create also a tag ass2 for it. I expect that after entering
- svn co https:/lalgec.fri.uni-lj.si/spo/USER/tags/ass2
I get all the necessary files including run.sh on my disk.
You will present your simulator at the tutorials. Use shell and svn command to checkout your assignment, show how to compile your simulator, show some of your assembly programs how they run in your simulator, show some interesting part of the source code. Please be fluent with computer while presenting.