Assignment 3

Assignment 3

First part

Finish the SIC/XE assembler. It should support at least the following functionalities:

  • reading the source code
  • almost all of the instructions of all formats (as your simulator)
  • support for START, END, ORG, EQU directives (operands may be simple, e.g., only numbers or symbols)
  • support for BASE and NOBASE directives and base-relative addressing
  • resolving of symbols
  • generation of object files: H, E, T in M (simplified) records
  • generation of listing files: location, code, instruction

Second part

    Develop your own idea to add some functionality. Some ideas:

    • literals and LTORG directive
    • support for full relocation
    • blocks
    • sections
    • full expressions in EQU directives
    • resolving expressions in EQU by the algorithm from the lectures
    • macros
    • etc.


    Store your source code and other material in your Subversion repository. Create also a tag ass3 for it. I expect that after entering

    • svn co https:/

    I get all the necessary files including 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.