Simplified Instructional Computer (SIC) Instruction Set Architecture

Explore the instruction set architecture of the Simplified Instructional Computer (SIC), a hypothetical computer used for educational purposes. This guide details the various instructions, their formats, and functionalities, providing a foundational understanding of computer instruction sets.



Simplified Instructional Computer (SIC) Instruction Set

The Simplified Instructional Computer (SIC) is a hypothetical computer architecture used to illustrate fundamental computer hardware concepts. This section describes the SIC instruction set.

SIC Instruction Set

The SIC architecture uses 8-bit bytes. Instructions are described below. Note that the instructions described here are for the basic SIC architecture; the enhanced SIC/XE architecture includes additional instructions.

Instruction Mnemonic Opcode (hex) Description Syntax
ADD ADD 18 Add memory operand to register A A = A + M
AND AND 40 Logical AND of register A and memory operand A = A AND M
COMP COMP 28 Compare register A with memory operand (sets condition codes) Compares A and M
DIV DIV 24 Divide register A by memory operand A = A / M
JUMP J 3C Jump to address in memory operand PC = M
Jump if Equal JEQ 30 Jump to address in memory operand if condition codes indicate equality If CC =, PC = M
Jump if Greater Than JGT 34 Jump to address in memory operand if condition codes indicate greater than If CC >, PC = M
Jump if Less Than JLT 38 Jump to address in memory operand if condition codes indicate less than If CC <, PC = M
Jump and Store JSUB 48 Jump to subroutine; store return address in register L L = PC; PC = M
Load Accumulator LDA 00 Load memory operand into accumulator (register A) A = M
Load Accumulator Byte LDCH 50 Load a byte from memory into the accumulator A[RMB] = M[RMB]
Load Register L LDL 08 Load memory operand into register L L = M
Load Doubleword Indexed LDX 04 Load a doubleword into register X X = M
Multiply MUL 20 Multiply register A by memory operand A = A * M
OR OR 44 Logical OR of register A and memory operand A = A OR M
Read Direct RD D8 Read a byte from a device into register A A[RMB] = data specified by M[RMB]
Return from Subroutine RSUB 4C Return from subroutine using address in register L PC = L
Store Accumulator STA 0C Store the contents of the accumulator into memory M = A
Store Accumulator Byte STCH 54 Store a byte from the accumulator into memory M[RMB] = A[RMB]
Store Register L STL 14 Store the contents of register L into memory M = L
Store Register X STX 10 Store the contents of register X into memory M = X
Subtract SUB 1C Subtract memory operand from register A A = A - M
Test Device TD E0 Test device status (sets condition codes) Tests device status
Test Index Register X TIX 2C Test index register X against memory operand (sets condition codes) X = X + 1; Compares X and M
Write Direct WD DC Write a byte from register A to a device Device specified by M[RMB] = A[RMB]

Conclusion

The SIC instruction set provides a simplified but illustrative model of a computer's instruction set architecture. Understanding these instructions is fundamental to comprehending how a computer executes programs at a low level.