You are on page 1of 2

Instruction set of 8086: The instruction set of 8086 can be categorized into: 1. Data transfer instructions 2.

Arithmetic instructions 3. Logical instructions 4. Shift and rotate instructions 5. Branching and looping instructions 6. String instructions 7. Processor control instructions 8. External hardware synchronization instructions Data transfer instructions: Instruction
MOV PUSH POP XCHG LAHF SAHF IN

Explanation
Move the contents from memory to register and vice versa. Push the contents of the program memory into stack memory. Put the contents of stack memory back to program memory Exchange contents between two registers or memory locations. Loads AH with lower byte of flag register. Stores the contents of AH into the lower byte of the flag register. Load the destination register with the contents of the I/O port specified by the source. Load the destination I/O port with the contents of the source register.

OUT

We can similarly extend this chart for the remaining data transfer instructions like XLAT, LEA, LDS, etc Also include the string instructions like LODS, STOS, MOVS, INS AND OUTS.

Arithmetic instructions: Instruction


ADD/ADC SUB/SBB INC DEC MUL/ IMUL

Explanation
Adds the source to the destination and stores the result back in the destination. ADC also adds the carry into the result. Subtracts the source to the destination and stores the result back in the destination. SBB also subtracts the carry from the result. Adds 1 to the specified destination. Subtracts 1 from the specified destination If the source is 8-bit, it is multiplied with AL and the result is stored in AX and if the source is 16-bit, it is multiplied with AX and the result is stored in DX-AX. IMUL is used for signed numbers. If the divisor is 8-bit then the dividend is in AX register; quotient in AL and remainder in AH & if the divisor is 16-bit then the dividend is in DX-AX registers; quotient in AX and remainder in DX. IDIV is used for unsigned numbers. NEG forms the 2s complement of the destination and stores it back in the destination.

DIV/IDIV

NEG

We can similarly extend this chart for the remaining arithmetic instructions like CMP, CBW, CWD etc

You might also like