It is a program that performs one-pass assembly for the Modified Simple Instruction Computer (modi-SIC).
The assembler will translate assembly code into machine code compatible with the Modified Simplified Instructional Computer.
The modi-SIC architecture retains the instruction set and Format 3 instructions from the original SIC (Simple
Instruction Computer).
It also includes the concept of reserving variables in memory using directives such as
BYTE, WORD, RESB, and RESW.
• Format 1 Instructions: Modi-SIC extends its capabilities by introducing Format 1 instructions,expanding the range of supported operations.
• Immediate Instructions (Format 3): Modi-SIC introduces immediate instructions, allowing for the handling of immediate values passed as integers. This provides greater flexibility in executing instructions.
• Relocation: The Modi-SIC also supports relocation by using the masking bits in the text records, where 1 denotes memory location that needs modification and 0 otherwise.
The assembler will process the assembly code in a single pass, generating machine code (HTE records) for execution on the modi-SIC. It will consider both the original SIC Format 3 instructions and the newly introduced Format 1 instructions and immediate instructions
![modisic](https://private-user-images.githubusercontent.com/65984199/291005945-c5533b21-0dae-42eb-ac25-7d68fb37bfc7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzODUzNjYsIm5iZiI6MTcyNDM4NTA2NiwicGF0aCI6Ii82NTk4NDE5OS8yOTEwMDU5NDUtYzU1MzNiMjEtMGRhZS00MmViLWFjMjUtN2Q2OGZiMzdiZmM3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIzVDAzNTEwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI3MjY0MWNmZjM5N2YyZjYzYzljYzRjYzczYzliN2EyYTBlNGQ0MTg0ZWI3NWZjMDYwNGQ4MDNiMGQ5YTY1ZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.whTfMaZ3dKESsQarD9kl4QmJMoq98LnGhpfDwUBKbpI)
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 assembly program.
Remember that The modi-SIC program includes Format 1 instruction of SIC/XE.
A generated symbol table file (symbolTable.txt) for all the symbols extracted from the program.
A generated complete HTE records (objectcode.txt) which contain ne header, one or more text records (including masking bits) and one end record.