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.
- Logical instructions in 8086 microprocessor
- Data transfer instructions in 8086 microprocessor
- Process control instructions in 8086 microprocessor
- String manipulation instructions in 8086 microprocessor
- Program execution transfer instructions in 8086 microprocessor
- Arithmetic instructions in 8085 microprocessor
- Logical instructions in 8085 microprocessor
- Data transfer instructions in 8085 microprocessor
- Branching instructions in 8085 microprocessor
- Machine Control Instructions in Microprocessor
- Difference between SIM and RIM instructions in 8085 microprocessor
- 8086 program to transfer a block of 4 bytes by using string instructions
- Flag register of 8086 microprocessor
- General purpose registers in 8086 microprocessor
- Reset Accumulator (8085 & 8086 microprocessor)
- Memory Segmentation in 8086 Microprocessor
- Differences between 8085 and 8086 microprocessor
- Addressing modes in 8086 microprocessor
- Pin diagram of 8086 microprocessor
- Interrupts in 8086 microprocessor
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.