Arithmetic instructions in 8086 microprocessor
Last Updated :
22 May, 2018
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...