Instruction set of 8086 Microprocessor YASH PAL, April 9, 2026April 9, 2026 Instruction set of 8086 Microprocessor – Each microprocessor has its own instruction set. The instructions of the Intel 8086 microprocessor are much more powerful than those of the 8085 microprocessor. The 8085 microprocessor is a one-address microprocessor because one operand is given in the instruction, and the other is supposed to be present in the accumulator. The 8086 is a general-purpose register-type microprocessor. Both operands can be specified in one instruction.Types of 8086 Instruction SetThe 8086 instruction set is categorized as follows.Data Copy/Transfer instructionsArithmetic instructionsLogical instructionsShift and Rotate instructionsBranch instructionsLoop instructionsFlag (Bit) Manipulation InstructionsProcessor Control InstructionsString InstructionsBelow is the overview of the instructions of the Intel 8086 microprocessor.Data Copy/Transfer Instructions of 8086These types of instructions are used to transfer data from the source operand to the destination operand.MOV – Move the dataPUSH – Push the data into the stackPOP – Pop the data from the stackXCHG – ExchangeIN – Input fromOUT – Output toXLAT – Translate byte to ALLEA – Load Effective address to RegisterLDS – Load effective address to DSLES – Load effective address to ESLAHF – Load AH with FlagsLSAHF – Store AH into the FlagLPUSH F – Push flags to stackPOP F – Pop flags from the stackArithmetic Instructions of 8086All the instructions for performing arithmetic operations belong to this category.ADD – AdditionADC – Addition with carryINC – Increment by oneDEC – Decrement by oneSUB – SubtractionSBB – Subtraction with borrowMUL – Multiply (unsigned)IMUL – Signed Integer multiplyDIV – Divide (unsigned)IDIV – Signed Integer DivideAAA – ASCII adjust for additionDAA – Decimal adjust for AdditionAAS – ASCII Adjust for subtractDAS – Decimal adjust for subtractAAM – ASCII adjust for MultiplyAAD – ASCII adjust for DivideCMP – CompareCBW – Convert byte to wordCWD – Convert words to double wordsLogical InstructionsAll the instructions performing logical operations belong to this category.NOT – 1’s complementNEG – 2’s ComplementAND – AND operationOR – OR operationXOR – Exclusive OR operationTEST – And operation without storing the result.Shift and Rotate InstructionsThese instructions involve the bitwise shifting or rotation in either direction, with or without a count in CL.SHL/SAL – Shift Logical/Arithmetic leftSHR – Shift Logical RightSAR – Shift arithmetic RightROL – Rotate left without carryROR – Rotate right without carryRCL – Rotate left with carryRCR – Rotate right with carryBranch InstructionsThese instructions transfer control of execution to the specified address. All the calls, jump, interrupt and return instructions belong to this class.CALL – CallJUMP – Unconditional jumpRET – ReturnJE/JZ – Jump on equal zeroJNE/JNZ – Jump on not equal/not zeroJL/JNGE – Jump on less/not greater than and equalJNL/JGE – Jump on not less/ greater and equalJNLE/JG – Jump on not less equal/on greaterJLE/JNG – Jump on less or equal/not greaterJB/JNAE/JC – Jump on below/not above equal/on carryJBE/JNA – Jump on below or equal/not aboveJNB/JAE/JNE – Jump on not below/above or equal/on no carryJNBE/JA – Jump on not below or equal/on aboveJP/JPE – Jump on parity/even parityJNP/JPO – Jump on parity/odd parityJO – Jump on overflowJNO – Jump on not overflowJS – Jump on signed (Negative)JNS – Jump on not signed (Positive)JCXZ – Jump on CX = zeroINTn – Interrupt type nINTO – Interrupt on overflowIRET – Interrupt returnLoop Instructions8086 instruction set also provides such instruction which does the all operations of decrementing the counter, checking the condition, and, according to that, branching, the sequence or not in a single instruction.LOOP – Loop CX timesLOOPZ/LOOPE – Loop CX times while zero/equalLOOPNZ/LOOP NE – Loop CX times while not zero/not equalFlag (Bit) Manipulation InstructionsAll the instructions that directly affect the flag register come under the group of instructions.CLC – Clear carry FlagCMC – Component carry flagSTC – Set Carry flagCLD – Clear Direction flagSTD – Set Direction flagCLI – Clear Interrupt flagSTI – Set Interrupt flagProcessor Control InstructionsThese instructions control the machine statusHLT – HaltWAIT – WaitESC – Escape to external deviceLOCk – Bus Lock prefixString InstructionsThese instructions involve various string manipulation operations.REP – Repeat prefix until CX = 0REPE/REPZ – Repeat prefix until CX = 0 or on equal/zeroREPNE/REPNZ – Repeat prefix until CX = 0 or on not equal/not zeroMOVS B/W – Move string byte/wordCMPS B/W – Compare string byte/wordSCAS B/W – Scan String Byte/WordLODS B/W – Load String Byte/WordSTOS B/W – Store String Byte/Word engineering subjects Microprocessor microprocessor