Classification of Instructions set
Data Movement Instructions
Instructions |
Definition/Meaning |
---|---|
MOV |
Transfer data from source to destination. |
XCHG |
Swap the contents of two registers or a register and a memory location. |
PUSH |
Push data onto the stack. |
POP |
Pop the data from the stack. |
LEA |
Load Effective Address (loads the address of a memory operand into a register). |
Arithmetic Instructions
Instructions |
Definition/Meaning |
---|---|
ADD, SUB, ADC, SBB |
Sum, difference, sum with carry, difference with borrow. |
INC, DEC: |
Increment, decrement. |
MUL, IMUL, DIV, IDIV: |
Multiplication and division (unsigned and signed). |
Logic Instructions
Instructions |
Definition/Meaning |
---|---|
AND, OR, XOR, NOT |
Bitwise logical operations. |
TEST |
Bitwise AND operation modifies flags while operands remain unchanged. |
SHL, SHR, SAL, SAR |
Shift left, shift right (logical and arithmetic). |
ROL, ROR, RCL, RCR |
Left rotate, right rotate (with carry). |
Control Transfer Instructions
Instructions |
Definition/Meaning |
---|---|
JMP |
Absolute jump to a specified address. |
JC, JNC, JZ, JNZ, JS, JNS, JO, JNO |
Conditional branching on the flags. |
CAL |
Call a subroutine. |
RET |
Return from subroutine. |
INT |
Software interrupt. |
IRET |
Interrupt return. |
String Instructions
Instructions |
Definition/Meaning |
---|---|
MOVSB, MOVSW |
Transfer byte or word from source to destination (used in string manipulation). |
CMPSB, CMPSW: |
Compare byte or word string operands. |
SCASB, SCASW |
Scan byte or word string operands. |
LODSB, LODSW |
Get a byte or word from memory into the accumulator. |
Input/Output Instructions
Instructions |
Definition/Meaning |
---|---|
IN |
Input from port. |
OUT |
Output to port. |
Flag Control Instructions
Instructions |
Definition/Meaning |
---|---|
CLC, STC, CMC |
Set, clear, complement flags on CY. |
CLD, STD |
Set direction flag. |
CLI, STI |
Clr int flag. |
HLT: |
Halt processor execution. |
Other Instructions
Instructions |
Definition/Meaning |
---|---|
NOP |
No operation. |
WAIT |
Await external event. |
ESC |
Jump to external coprocessor. |
Process Control Instructions
- Process Control Instructions are used to control the order execution in a program and in processes. They comprise of instruction for branching, looping, and calling functions or subroutines.
- In other words, the instruction set changes the sequence of instruction executing, therefore, it allows to change the program flow. Include commands for conditional jump, unconditional jump, subroutine calls among others.
Instruction |
Definition/Meaning |
---|---|
Branching Instructions |
Branching Instruction that transfers the flow of execution onto certain conditions or unconditional transfers to the part of the program. |
Looping Instructions |
Instruction that can be used to repeatedly execute a block of code either conditionally or unconditionally. |
Subroutine Instructions |
Subroutine Instructions are used to call and return from subroutine to enhance code modularity and reusability. |
Unconditional Jumps |
Unconditional Jumps Included in the program flow are the instructions that unconditionally jump to a predetermined location without taking any condition in to account. |
Conditional Jumps |
Conditional Jumps Conditionals that moves the control flow to a specific address depending on the truth value of a condition. |
Subroutine Calls |
Jump Commands Instructions that are responsible for transferring control to a subroutine, enabling task execution, while promoting code modularity and reusability. |
8086 Instruction Set
The 8086 instruction set is key to understanding the Intel 80 coding pattern and its significant significance as a path-making chip among x patterns. Unveiled in 1978, it brought innovation into computing by having the ability to provide better overall performance and memory attributes than earlier devices. This article investigates the details behind the 8086 instruction set as well its additives of it in matters of class, addressing modes key command and assembly language programming extensions complexes regarding challenges and further advantages.
Table of Content
- 8086 Instruction Set
- Classification of Instructions set
- Addressing Modes
- Key Instructions in the 8086 Instruction Set
- Assembly Language Programming with the 8086
- 8086 Instruction Set Extensions
- FAQs on 8086 Instruction Set