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.
Contact Us