COA Tutorial
Basic CO and Design
Computer Instructions
Digital Logic Circuits
Map Simplification
Combinational Circuits
Flip - Flops
Digital Components
Register Transfer
Micro-Operations
Memory Organization
COA_Misc
- Booth's Multiplication Algorithm
- Branch Instruction in Computer Organization
- Data Representation in Computer Organization
- ALU and Data Path in Computer Organization
- External memory in Computer Organization
- Structured Computer Organization
- Types of Register in Computer Organization
- Secondary Storage Devices in Computer Organization
- Types of Operands in Computer Organization
- Serial Communication in Computer organization
- Addressing Sequencing in Computer Organization
- Simplified Instructional Computer (SIC)
- Arithmetic Instructions in AVR microcontroller
- Conventional Computing VS Quantum Computing
- Instruction set used in Simplified Instructional Computer
- Branch Instruction in AVR microcontroller
- Conditional Branch instruction in AVR Microcontroller
- Data transfer instruction in AVR microcontroller
- Difference between Memory-based and Register-based addressing modes
- Difference between 1's complement Representation and 2's complement Representation
- CALL Instructions and Stack in AVR Microcontroller
- Difference between Call and Jump Instructions
- Overflow in Arithmetic Addition in Binary number System
- Horizontal Micro-programmed Vs. Vertical Micro-programmed Control Unit
- Hardwired Vs. Micro-programmed Control Unit
- Non-Restoring Division Algorithm for Unsigned Integer
- Restoring Division Algorithm for Unsigned Integer
- Debugging a Machine-level Program
- Dependencies and Data Hazard in pipeline in Computer Organization
- Execution, Stages and Throughput in Pipeline
- Types of Pipeline Delay and Stalling
- Timing Diagram of MOV Instruction
- Advantages and Disadvantages of Flash Memory
- Importance/Need of negative feedback in amplifiers
- Anti-Aliasing - Computer Graphics
- Bus Arbitration in Computer Organization
- Convert a number from Base 2 (Binary) to Base 6
- Cache Coherence
- EHCI
- Cache Memory and Virtual Memory
- Electrical Potential and Potential Difference
- RAM and Cache
- SIM and RIM instructions in 8085 processor
- Clusters in Computer Organization
- Data Types and Addressing Modes of 80386/80386DX Microprocessor
Instruction set used in Simplified Instructional Computer
SIC is a type of machine design, which is used to illustrate the features and concepts of most commonly encountered computer hardware. The memory in a simplified instructional computer is organized as a sequence of 8-bit bytes (1 byte = 8 bits). It also contains an enhanced version of the machine, which is known as SIC/XE. This new version includes some additional features such as interrupts, protective memory features, addressing modes, virtual memory, and floating-point instructions. There is no available bit to represent the floating-point numbers in SIC, but it exists in the SIC/XE. When we program the SIC (Simplified instructional computer), we are required various instructions to do this and these instructions are described as follows:
Instructions | Operand | Opcode | Explanation |
---|---|---|---|
ADD | M | 18 | The ADD instruction is used to add register A with the memory M. The result of add operation will be stored in the register. The syntax of ADD instruction is described as follows: A = A + M |
AND | M | 40 | The AND instruction performs the 'AND' operation with the register A and memory M. The result of 'AND' operation will be stored in the register. The syntax of AND instruction is described as follows: A = A AND M |
COMP | M | 28 | The COMP instruction is used to compare the data of register A with the data of memory. It uses conditional code to save the result. The syntax of COMP instruction is described as follows: compares A and M |
DIV | M | 24 | The DIV instruction is used to divide the register A by the memory M. The result of add operation will be stored in the register. The syntax of DIV instruction is described as follows: A = A/M |
J | M | 3C | The JUMP instruction is used to load the new value of memory into the PC register. The syntax of JUMP instruction is described as follows: PC = M |
JEQ | M | 30 | JEQ refers to jump if equal. It is used to load a new value of memory into PC if condition code (CC) is set to =. The syntax of JEQ is described as follows: If CC set to =, PC = M |
JGT | M | 34 | JGT refers to jump if greater than. It is used to load a new value of memory into PC if condition code (CC) is set to >. The syntax of JGT is described as follows: If CC set to >, PC = M |
JLT | M | 38 | JLT refers to jump if less than. It is used to load a new value of memory into PC if condition code (CC) is set to <. The syntax of JLT is described as follows: If CC set to <, PC = M |
JSUB | M | 48 | It is used to jump and place the return address in register L. The syntax of JSUB is described as follows: L = PC ; PC = M |
LDA | M | 00 | LDA stands for Load accumulator. It is used to load the contents from memory into the accumulator register. The syntax of LDA is described as follows: A = M |
LDCH | M | 50 | LDCH instruction is used to load the data byte from memory into register A or accumulator. The syntax of LDCH is described as follows: A[RMB] = M[RMB] |
LDL | M | 08 | LDL is used to load the data of memory into register L. The syntax of LDL is described as follows: L = M |
LDX | M | 04 | Here, LDX stands for Load Doubleword Indexed. This instruction is used to load a doubleword into a general-purpose register from the specified memory location. The syntax of LDX is described as follows: X = M |
MUL | M | 20 | The MUL instruction is used to multiply the register A and the memory M. The result of 'Multiply' operation will be stored in the register. The syntax of MUL instruction is described as follows: A = A * M |
OR | M | 44 | The OR instruction performs the 'OR' operation with the register A and memory M. The result of 'OR' operation will be stored in the register. The syntax of OR instruction is described as follows: A = A OR M |
RD | M | D8 | RD instruction is used to read the data specified by memory. The result of this operation will be stored in register A. The syntax of RD instruction is described as follows: A[RMB] = data specified by M[RMB] |
RSUB | 4C | The RSUB instruction will be returned with the help of jumping to the address contained in register L. The syntax of RSUB instruction is described as follows: PC = L |
|
STA | M | 0C | STA instruction is used to store the contents of accumulator into memory. The syntax of STA instruction is described as follows: M = A |
STCH | M | 54 | The STCH instruction is used to store the byte that was read from the register. The syntax of STCH instruction is described as follows: M[RMB] = A[RMB] |
STL | M | 14 | The STL is used to store the linkage register with the contents of memory. The syntax of STL is described as follows: M = L |
STX | M | 10 | STX stands for "STore X". This instruction is used to store a copy of byte, which is contained by the X index register, into memory. The syntax of STX is described as follows: M = X |
SUB | M | 1C | The SUB instruction is used to subtract the register A and the memory M. The result of 'Subtraction' operation will be stored in the register. The syntax of SUB instruction is described as follows: A = A - M |
TD | M | E0 | It uses the status word and conditional code to test whether the device is ready to send or receive a byte of data. If CC (conditional code) is <, in this case, the device will be ready. If CC is >, in this case, the device will be busy. |
TIX | M | 2C | The TIX instruction is used to compare the X index address with the memory. Where X = X + 1. It will show the result by setting CC (Conditional code). |
WD | M | DC | WD instruction is used to write a byte into the device from the register. The syntax of WD is described as follows: Device specified by M[RMB] = A[RMB] |