This is my take on creating an assembler for the SIC/XE architecture https://github.com/abdrahmanrashed/SICXE-assembler/tree/assembler
This project was created by me for a college project, it is not intended to be used as an actual assembler. This assembler doesn't feature modification records or external loaders/linkers (may add them later tho). The code design is intended to target specific individuals, so some functions may not be totally clear for all individuals. Not all comments are particularly useful, they were added to meet a specific request.
input.txt(input file) contains the initial sic code(your program) to be assembled, there is an example already inside it. opcode.txt(input file) contains the length and opcode for each mnemonic instruction. pass1.txt(output file) shows the program with its addresses after it is loaded into the memory. pass2.txt(output file) shows the complete format for each instruction that is currently stored in the memory. hte.txt(output file) shows the hte record made for the program after it is assembled.
I am open to any kind of questions or suggestions.