Skip to content

Latest commit

 

History

History
22 lines (19 loc) · 2.02 KB

README.md

File metadata and controls

22 lines (19 loc) · 2.02 KB

SIC-Assembler

C++ implementation of SIC Assembler.

Basic assembler functions :
Translating mnemonic operation codes to their machine language equivalents.
Assigning machine addresses to symbolic labels.
Write the object program and the assembly listing

Assembler directives :
Assembler directives are pseudo instructions
They provide instructions to the assembler itself
They are not translated into machine operation codes
SIC assembler directive
START : specify name & starting address
END : end of source program, specify the first execution instruction
BYTE, WORD, RESB, RESW
End of record : a null char (00)
End of file : a zero-length record

Implementation includes 2 passes :
First pass: Scan the source program for label definitions and assign addresses
Second pass: Perform actual translation