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:
|ADD||D, S||D = D + S||ADD AX, |
|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 , 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 |
|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.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.