12/11/23, 8:29 PM Arithmetic instructions in 8086 microprocessor
Arithmetic instructions in 8086 microprocessor
Microprocessor Microcontroller 8086
These instructions are used to perform arithmetic operations like addition, subtraction,
multiplication, division, etc. In 8086 the destination address is need not to be the
accumulator.
Let us see the arithmetic instructions of 8086 microprocessor. Here the D and S are
destination and source respectively. D and S can be either register, data or memory
address.
Opcode Operand Description
ADD D,S Used to add the provided byte to byte/word to word.
ADC D,S Used to add with carry.
INC D Used to increment the provided byte/word by 1.
AAA ---- Used to adjust ASCII after addition.
DAA ---- Used to adjust the decimal after the addition/subtraction
operation.
SUB D,S Used to subtract the byte from byte/word from word.
SBB D,S Used to perform subtraction with borrow.
DEC D Used to decrement the provided byte/word by 1.
NEG D Used to negate each bit of the provided byte/word and
add 1/2’s complement.
CMP D Used to compare 2 provided byte/word.
AAS ---- Used to adjust ASCII codes after subtraction.
DAS ---- Used to adjust decimal after subtraction.
MUL 8-bit reg Used to multiply unsigned byte by byte/word by word.
IMUL 8 or 16-bit Used to multiply signed byte by byte/word by word.
reg
AAM ---- Used to adjust ASCII codes after multiplication.
DIV 8-bit reg Used to divide the unsigned word by byte or unsigned
double word by word.
https://www.tutorialspoint.com/arithmetic-instructions-in-8086-microprocessor 1/2
12/11/23, 8:29 PM Arithmetic instructions in 8086 microprocessor
Opcode Operand Description
IDIV 8 or 16-bit Used to divide the signed word by byte or signed double
reg word by word.
AAD ---- Used to adjust ASCII codes after division.
CBW ---- Used to fill the upper byte of the word with the copies of
sign bit of the lower byte.
CWD ---- Used to fill the upper word of the double word with the
sign bit of the lower word.
https://www.tutorialspoint.com/arithmetic-instructions-in-8086-microprocessor 2/2