# 8085 Arithmetic Instructions

Arithmetic instructions are a type of instruction in a computer's instruction set that perform arithmetic operations on data. These operations can include addition, subtraction, multiplication, and division. Arithmetic instructions can operate on integers, floating-point numbers, or other types of numeric data. They are an important part of any computer's instruction set and are frequently used in programs to perform mathematical calculations.

The Intel 8085 is an 8-bit microprocessor that was introduced in 1977. It is capable of performing arithmetic instructions, such as addition, subtraction, increment, and decrement.

### Here is a table of the 8085 arithmetic instructions:

#### Here is a brief description of each instruction:

1. ADD - Thi instruction is used to add the values in two registers or a register and a memory location, and store the result in a register. The syntax for this instruction is "ADD destination". The destination can be a register (A, B, C, D, E, H, or L) or a memory location (specified using the H and L registers). This instruction can also be used to add an immediate value to the accumulator (register A) using the "ADI data" syntax, where "data" is the immediate value to be added.
2. ADC - This instruction is used to add the values in two registers or a register and a memory location, including the carry flag, and store the result in a register. The syntax for this instruction is "ADC destination". The destination can be a register (A, B, C, D, E, H, or L) or a memory location (specified using the H and L registers). This instruction can also be used to add an immediate value and the carry flag to the accumulator (register A) using the "ACI data" syntax, where "data" is the immediate value to be added.
3. SUB - This instruction is used to subtract the value of a register or memory location from the accumulator (register A) and store the result in the accumulator. The syntax for this instruction is "SUB destination". The destination can be a register (B, C, D, E, H, or L) or a memory location (specified using the H and L registers). This instruction can also be used to subtract an immediate value from the accumulator using the "SUI data" syntax, where "data" is the immediate value to be subtracted.
4. SBB - This instruction is used to subtract the value of a register or memory location, including the carry flag, from the accumulator (register A) and store the result in the accumulator. The syntax for this instruction is "SBB destination". The destination can be a register (B, C, D, E, H, or L) or a memory location (specified using the H and L registers). This instruction can also be used to subtract an immediate value and the carry flag from the accumulator using the "SBI data" syntax, where "data" is the immediate value to be subtracted.
5. INR - This instruction is used to increment the value in a register or memory location by 1. The syntax for this instruction is "INR destination", where "destination" is the register (A, B, C, D, E, H, or L) or memory location (specified using the H and L registers) to be incremented.
6. DCR - This instruction is used to decrement the value in a register or memory location by 1. The syntax for this instruction is "DCR destination", where "destination" is the register (A, B, C, D, E, H, or L) or memory location (specified using the H and L registers) to be decremented.
7. DAD - This instruction is used to double the value in the H and L registers, and add the result to the value in the D and E registers. The syntax for this instruction is "DAD destination", where "destination" is the register pair (B, D, or H) to be used. This instruction is often used to perform 16-bit arithmetic, such as incrementing a 16-bit memory address or adding two 16-bit numbers.
8. DCX - This instruction is used to decrement the value in the H and L registers by 1. The syntax for this instruction is "DCX destination", where "destination" is the register pair (B, D, or H) to be decremented. This instruction is often used to perform 16-bit arithmetic, such as decrementing a 16-bit memory address.