Program that consists of writing a two-pass assembler


Write a program that consists of writing a two-pass assembler for the SIC/XE computer. Your program should accept as input an assembly language program written for the SIC/XE machine, and should produce two files as its output. 
The first is a listing file showing the source statements and the object code (in hexadecimal notation) generated for each statement, followed by a symbol table printout as it exists at the end of the assembly process. 
The second file is a file consisting of the actual object code produced by the assembler. The object code should be in the same hexadecimal form as outlined in the text, with Header record, Text records, and End record. 

Restrictions: To simplify your assembler, you may assume: 

1. The directives are limited to the following: 
START, BYTE, WORD, RESB, RESW, END, BASE, NOBASE. 
2. The opcodes: 
ADDR, COMPR, SUBR, ADD, SUB, MUL, DIV, COMP, J, JEQ, JGT, JLT, JSUB, LDA, LDB, LDCH, LDL, LDT, LDX, RSUB, TIX, TIXR, RD, TD, WD, STA, STB, STCH, STL, STX, CLEAR. 
3. There are no expressions in addresses and no expressions in immediate operands. 
4. Labels are a maximum of 6 characters in length and consist only of letters. 
5. All source code is in uppercase characters. 
6. All labels begin in column 1, all opcodes begin in column 8, and the remainder of the source line is in column 15. The portion of the 
source line beginning in column 15 contains no embedded spaces.

7. No literals.  

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: Program that consists of writing a two-pass assembler
Reference No:- TGS088464

Expected delivery within 24 Hours