b)Arithmetic Instruction
Instruction to add subtract increment or decrement data in register or memory and instruction that adjust 8 bit data for BCD arithmetic are in this group.Flag conditions change after execution of instruction of this group. This group consists of the following instructions.
1)ADDITION:-
|
Instruction |
Task performed |
1. |
ADD r |
Add register(r) to accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ADD A |
87 |
1 |
2 |
ADD B |
80 |
1 |
3 |
ADD C |
81 |
1 |
4 |
ADD D |
82 |
1 |
5 |
ADD E |
83 |
1 |
6 |
ADD H |
84 |
1 |
7 |
ADD L |
85 |
1 |
|
Instruction |
Task performed |
2. |
ADD M |
Add data in memory to Accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ADD M |
86 |
1 |
|
Instruction |
Task performed |
3. |
ADI 8 bit data |
Add immediate 8 bit data to accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ADI Data |
C6 |
2 |
|
Instruction |
Task performed |
4. |
ADC M |
Add data in memory to accumulator with carry. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ADC M |
8E |
1 |
|
Instruction |
Task performed |
5. |
ADC r |
Add register(r) with carry to accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ADC A |
8F |
1 |
2 |
ADC B |
88 |
1 |
3 |
ADC C |
89 |
1 |
4 |
ADC D |
8A |
1 |
5 |
ADC E |
8B |
1 |
6 |
ADC H |
8C |
1 |
7 |
ADC L |
8D |
1 |
|
Instruction |
Task performed |
6. |
ACI 8 bit data |
Add immediate 8 bit data to accumulator with carry. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
ACI Data |
CE |
2 |
|
Instruction |
Task performed |
7. |
DAD rp |
Add (rp) to (HL) and store the result in HL pair. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
DAD B |
09 |
1 |
2 |
DAD D |
19 |
1 |
3 |
DAD H |
29 |
1 |
4 |
DAD SP |
39 |
1 |
|
Instruction |
Task performed |
8. |
DAA |
Adjusts Accumulator to packed BCD after adding two BCD numbers. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
DAA |
27 |
1 |
2)SUBTRACTION:-
|
Instruction |
Task performed |
1. |
SUB r |
Subtract register(r) from accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SUB A |
97 |
1 |
2 |
SUB B |
90 |
1 |
3 |
SUB C |
91 |
1 |
4 |
SUB D |
92 |
1 |
5 |
SUB E |
93 |
1 |
6 |
SUB H |
94 |
1 |
7 |
SUB L |
95 |
1 |
|
Instruction |
Task performed |
2. |
SUB M |
Subtract data in memory from Accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SUB M |
96 |
1 |
|
Instruction |
Task performed |
3. |
SUI 8 bit data |
Subtract immediate 8 bit data from accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SUI Data |
D6 |
2 |
|
Instruction |
Task performed |
4. |
SBB r |
Subtract register(r) with borrow from accumulator. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SBB A |
9F |
1 |
2 |
SBB B |
98 |
1 |
3 |
SBB C |
99 |
1 |
4 |
SBB D |
9A |
1 |
5 |
SBB E |
9B |
1 |
6 |
SBB H |
9C |
1 |
7 |
SBB L |
9D |
1 |
|
Instruction |
Task performed |
5. |
SBB M |
Subtract data in Memory from accumulator with borrow. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SBB M |
9E |
1 |
|
Instruction |
Task performed |
6. |
SBI 8 bit data |
Subtract immediate 8 bit data to accumulator with carry. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
SBI Data |
DE |
2 |
3)INCREMENT AND DECREMENT CONTENT OF REGISTER/REGISTER PAIR/ MEMORY:-
|
Instruction |
Task performed |
1. |
INR r |
Increment the content of specified register. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
INR A |
3C |
1 |
2 |
INR B |
04 |
1 |
3 |
INR C |
0C |
1 |
4 |
INR D |
14 |
1 |
5 |
INR E |
1C |
1 |
6 |
INR H |
24 |
1 |
7 |
INR L |
2C |
1 |
|
Instruction |
Task performed |
2. |
INR M |
Increment the content of specified memory. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
INR M |
34 |
1 |
|
Instruction |
Task performed |
3. |
INX rp |
Increment the content of specified register pair. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
INX B |
03 |
1 |
2 |
INX D |
13 |
1 |
3 |
INX H |
23 |
1 |
4 |
INX SP |
33 |
1 |
|
Instruction |
Task performed |
4. |
DCR r |
Decrement the content of specified register. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
DCR A |
3D |
1 |
2 |
DCR B |
05 |
1 |
3 |
DCR C |
0D |
1 |
4 |
DCR D |
15 |
1 |
5 |
DCR E |
1D |
1 |
6 |
DCR H |
25 |
1 |
7 |
DCR L |
2D |
1 |
|
Instruction |
Task performed |
5. |
DCR M |
Decrement the content of specified memory. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
DCR M |
35 |
1 |
|
Instruction |
Task performed |
6. |
DCX rp |
Decrement the content of specified register pair. |
Sr.no |
Mnemonics,operand |
Opcode |
Byte |
1 |
DCX B |
0B |
1 |
2 |
DCX D |
1B |
1 |
3 |
DCX H |
2B |
1 |
4 |
DCX SP |
3B |
1 |
0 Comments
If you have any doubt,please let me know.