It is a program that translates machine code (HTE record) into an assembly code for the Modified Simplified Instructional Computer (modi-SIC).
![modisic](https://private-user-images.githubusercontent.com/65984199/291005945-c5533b21-0dae-42eb-ac25-7d68fb37bfc7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzODU5NTIsIm5iZiI6MTcyNDM4NTY1MiwicGF0aCI6Ii82NTk4NDE5OS8yOTEwMDU5NDUtYzU1MzNiMjEtMGRhZS00MmViLWFjMjUtN2Q2OGZiMzdiZmM3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIzVDA0MDA1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY4YTEzOGY0NTI1M2U2NWUzM2RmZGQ4ZjM3Mjc3NTNiY2ZiYjU3YmQ4ZGM4NmIyODZiY2UzNDZlN2U4NjE2MGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.uBBXRnQE3UksHs2yvmJHrEBM0Clkh0nWhljq9ZyMx_M)
OPCODE (8 Bits) |
---|
All Type 3 instruction could be immediate instructions this is done by a new division of bits of instructions of Type 3 (Format 3) as shown in following table.
OPCODE (7 Bits) | Immediate Flag [i] (1 Bit) | Indexing Flag [x] (1 Bit) | Address (15 Bits) |
---|
The modification applied on the opcode as
- Only opcode is represented as 7 bits (not 8) as in SIC
- The 8th bit of the opcode represents the immediate flag (i) which has two value
-
a. 0 if the instruction without immediate value (has an address)
b. 1 if the instruction with immediate value
It takes as an input a text file (in.txt) that contains modi-SIC machine code (modi-SIC HTE record).
Remember that The modi-SIC HTE record will be modified to accept also object code of Format 1 instruction of SIC/XE.
A generated symbol table file (symbolTable.txt) for all the symbols extracted from the HTE record.
A generated assembly code file (assembly.txt) which contain three columns ordered from left as location counter, the assembly code, and object code.