Arithmetic instructions in 8086 microprocessor

Arithmetic Instructions are the instructions which perform basic arithmetic operations such as addition, subtraction and a few more. Unlike in 8085 microprocessor, in 8086 microprocessor the destination operand need not be the accumulator.

Following is the table showing the list of arithmetic instructions:

OPCODE OPERAND EXPLANATION EXAMPLE
ADD D, S D = D + S ADD AX, [2050]
ADC D, S D = D + S + prev. carry ADC AX, BX
SUB D, S D = D – S SUB AX, [SI]
SBB D, S D = D – S – prev. carry SBB [2050], 0050
MUL 8-bit register AX = AL * 8-bit reg. MUL BH
MUL 16-bit register DX AX = AX * 16-bit reg. MUL CX
IMUL 8 or 16 bit register performs signed multiplication IMUL CX
DIV 8-bit register AX = AX / 8-bit reg. ; AL = quotient ; AH = remainder DIV BL
DIV 16-bit register DX AX / 16-bit reg. ; AX = quotient ; DX = remainder DIV CX
IDIV 8 or 16 bit register performs signed division IDIV BL
INC D D = D + 1 INC AX
DEC D D = D – 1 DEC [2050]
CBW none converts signed byte to word CBW
CWD none converts signed byte to double word CWD
NEG D D = 2’s compliment of D NEG AL
DAA none decimal adjust accumulator DAA
DAS none decimal adjust accumulator after subtraction DAS
AAA none ASCII adjust accumulator after addition AAA
AAS none ASCII adjust accumulator after subtraction AAS
AAM none ASCII adjust accumulator after multiplication AAM
AAD none ASCII adjust accumulator after division AAD

Here D stands for destination and S stands for source.
D and S can either be register, data or memory address.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.