Instruction Set of 8086: Data Transfer Instructions Arithmetic Instructions
Instruction Set of 8086: Data Transfer Instructions Arithmetic Instructions
Instruction Set of 8086: Data Transfer Instructions Arithmetic Instructions
Instructions to transfer the address • NPG − Used to negate each bit of the provided
byte/word and add 1/2’s complement.
• LEA − Used to load the address of operand into
• CMP − Used to compare 2 provided byte/word.
the provided register.
• RET − Used to return from the procedure to the • STC − Used to set carry flag CF to 1
main program. • CLC − Used to clear/reset carry flag CF to 0
• JMP − Used to jump to the provided address to • CMC − Used to put complement at the state of
proceed to the next instruction. carry flag CF.
Instructions to transfer the instruction during an • STD − Used to set the direction flag DF to 1
execution with some conditions −
• CLD − Used to clear/reset the direction flag DF
• JA/JNBE − Used to jump if above/not to 0
below/equal instruction satisfies.
• STI − Used to set the interrupt enable flag to 1,
• JAE/JNB − Used to jump if above/not below i.e., enable INTR input.
instruction satisfies.
• CLI − Used to clear the interrupt enable flag to 0,
• JBE/JNA − Used to jump if below/equal/ not i.e., disable INTR input.
above instruction satisfies.
• JC − Used to jump if carry flag CF = 1
Iteration Control Instructions
• JE/JZ − Used to jump if equal/zero flag ZF = 1 These instructions are used to execute the given
instructions for number of times. Following is the list of
• JG/JNLE − Used to jump if greater/not less instructions under this group −
than/equal instruction satisfies.
• LOOP − Used to loop a group of instructions
• JGE/JNL − Used to jump if greater until the condition satisfies, i.e., CX = 0
than/equal/not less than instruction satisfies.
• LOOPE/LOOPZ − Used to loop a group of
• JL/JNGE − Used to jump if less than/not greater instructions till it satisfies ZF = 1 & CX = 0
than/equal instruction satisfies.
• LOOPNE/LOOPNZ − Used to loop a group of
• JLE/JNG − Used to jump if less than/equal/if not instructions till it satisfies ZF = 0 & CX = 0
greater than instruction satisfies.