This is a naïve implementation of two-pass SIC Assembler by Shreyas Joshi and Yash Deshpande done as part of System Software course during Undergrad.
Theory and algorithms are referred from the book 'System Software - An introduction to Systems Programming' by Leland L. Beck
Along with the final version, various iterations of development are also included which can be used as a reference by the interested ones.
The program can be used in the following steps:
- Keep the SIC input assembly program in input.txt and OPTABLE in OPTAB.txt
- Run the pass1/pass2 code which will generate corresponding output files (intermediate for pass1 and object-program for pass2).