Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Microprocessor
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • Solutions
    • HackerRank
      • C Solutions
      • C++ Solutions
      • Java Solutions
      • Python Solutions
      • Algorithms Solutions
      • Data Structures Solutions
    • HackerEarth Solutions
    • Leetcode Solutions
  • JEE 2027
The Computer Science
TheCScience

8085 Microprocessor Arithmetic Instructions

YASH PAL, March 18, 2026April 25, 2026

8085 Microprocessor Arithmetic Instructions – Arithmetic instructions are used to perform addition, subtraction, increment, and decrement operations over the data in the register or memory. Addition and subtraction operations are performed in relation to the contents of the accumulator. It means that one of the operands is always the accumulator for these two operations. The result of addition and subtraction is also stored in the accumulator. In case of increment and decrement operations, the result will be stored in the operand only.

Table of Contents

  • 8085 Microprocessor Arithmetic Instructions
    • Addition Operation
    • Subtraction Operation
    • Increment/Decrement Operation

8085 Microprocessor Arithmetic Instructions

  1. Addition Operation
  2. Subtraction Operation
  3. Increment/Decrement Operation

Addition Operation

Any 8-bit number, or the contents of a register, or the contents of a memory location can be added to the contents of the accumulator, and the sum is stored in the accumulator.

ADD RAdd the contents of register R to the contents of the accumulator.
OperationA ← A + R
Length1 byte
Addressing modeRegister addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
ADD MAdd the contents of the memory location pointed by register pair HL to the contents of the accumulator.
OperationA ← A + [HL]
Length1 byte
Addressing modeIndirect addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
ADI data (8-bit)Add 8-bit immediate data to the accumulator and store the result in the accumulator.
OperationA ← A + data (8-bit)
Length2 byte
Addressing modeImmediate addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
ADC RAdd the contents of register R and the status of the carry flag 0 or 1 to the contents of the accumulator. The result is stored in the accumulator.
OperationA ← A + R + CY
Length1 byte
Addressing modeRegister addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
ADC MAdd the contents of the memory location pointed by the HL register pair and the status of the carry flag 0 or 1 to the contents of the accumulator. The result is stored in the accumulator.
OperationA ← A + [HL] + CY
Length1 byte
Addressing modeIndirect addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
ACI data (8-bit)Add 8-bit immediate data and the status of the carry flag 0 or 1 to the contents of the accumulator; the result is stored in the accumulator.
OperationA ← A + data + CY
Length2 byte
Addressing modeImmediate addressing mode
FlagsAll flags are affected according to the result stored in the accumulator.
DAD RpAdd the contents of register pair Rp to the contents of HL register pair. The result is stored in the HL register pair.
OperationHL ← HL + Rp
Length1 byte
Addressing modeRegister addressing mode
FlagsOnly the carry flag is affected

Subtraction Operation

Any 8-bit number, or the contents of a register, or the contents of a memory location can be subtracted from the contents of the accumulator, and the result is stored in the accumulator. The 8085 microprocessor performs subtraction by the method of 2’s complement. The 8085 performs the following steps internally to execute the subtraction operation.

  • Step 1: Convert the subtrahend (the number to be subtracted) into its 1’s complement.
  • Step 2: 2’s complement is obtained by adding 1 to the 1’s complement of the subtrahend.
  • Step 3: Add 2’s complement to the minuend.
  • Step 4: Complement the carry flag. This shows the borrow of the operation.
SUB RSubtract the contents of register R from the contents of the accumulator and store the result in the accumulator.
OperationA ← A – R
Length1 byte
Addressing modeRegister addressing mode
FlagsAll flags are affected according to the result.
SUB MSubtract the contents of the memory location pointed by register pair HL from the contents of the accumulator. Store the result in the accumulator.
OperationA ← A – [HL]
Length1 byte
Addressing modeIndirect addressing mode
FlagsAll flags are affected according to the result.
SUI data (8-bit)Subtract 8-bit immediate data from the contents of the accumulator. Store the result in the accumulator.
OperationA ← A – data
Length1 byte
Addressing modeIndirect addressing mode
FlagsAll flags are affected according to the result.
SBB RSubtract the contents of register R and the status of the carry (borrow) flag from the contents of the accumulator.
OperationA ← A – R – CY
Length1 byte
Addressing modeRegister addressing mode
FlagsAll flags are affected according to the result.
SBB MSubtract the contents of the memory location pointed by the HL register pair and the status of the carry (borrow) flag from the contents of the accumulator.
OperationA ← A – [HL] – CY
Length1 byte
Addressing modeIndirect addressing mode
FlagsAll flags are affected according to the result.
SBI data (8-bit)Subtract 8-bit immediate data and status of carry (borrow) flag from the contents of the accumulator.
OperationA ← A – data – CY
Length2 byte
Addressing modeImmediate addressing mode
FlagsAll flags are affected according to the result.

Increment/Decrement Operation

The 8-bit contents of a register, or the contents of a memory location, or the contents of a register pair can be incremented or decremented. The result of increment/decrement is stored in the same operand.

INR RIncrement the contents of register R.
OperationR ← R + 1
Length1 byte
Addressing modeRegister addressing mode
FlagsExcluding the carry flag (CY), all flags are affected according to the result.
INR MIncrement the contents of the memory location pointed to by the register pair HL.
Operation[HL] ← [HL] + 1
Length1 byte
Addressing modeIndirect addressing mode
FlagsExcluding the carry flag (CY), all flags are affected according to the result.
INX RpIncrement the contents of the register pair Rp
OperationRp ← Rp + 1
Length1 byte
Addressing modeRegister addressing mode
FlagsNo flags are affected.
DCR RDecrement the contents of register R
OperationR ← R – 1
Length1 byte
Addressing modeRegister addressing mode
FlagsExcluding the carry flag (CY), all flags are affected according to the result.
DCR MDecrement the contents of the memory location pointed to by the HL register pair.
Operation[HL] ← [HL] – 1
Length1 byte
Addressing modeIndirect addressing mode
FlagsExcluding the carry flag (CY), all flags are affected according to the result.
DCX RpDecrement the contents of the register pair Rp
OperationRp ← Rp – 1
Length1 byte
Addressing modeRegister addressing mode
FlagsNo flags are affected.

Note: Increment/Decrement operations do not affect the carry flag (CY). Two instructions, INX and DCX, do not affect any flag.


Microprocessor Subject Tutorials & Notes | Beginners Guide
engineering subjects Microprocessor microprocessor

Post navigation

Previous post
Next post

Introduction to Microprocessor
Generations of Computer
Microprocessor Types
Types of Computer Systems
Types of Programming Languages
Basic Computer Structure
Interfacing Logic Devices
Number System in Computer
Number System Arithmetic – Addition & Subtraction

Microprocessor as CPU
8085 Microprocessor Architecture
Pin Configuration of 8085 Microprocessor
Demultiplexing of Address and Data Bus in 8085 Microprocessor
Basic Operations of the 8085 Microprocessor
Memory Organization in 8085 Microprocessor

Microprocessor memory structure
Memory Interfacing with 8085 Microprocessor
Memory address decoding in a microprocessor
Input/Output Interfacing in Microprocessor

8085 Microprocessor Programming Model
8085 Assembly Language Programming
8085 Microprocessor Instructions
Microprocessor Programming Steps
Flowchart Design of a Program
8085 Microprocessor Data Transfer Instructions
8085 Microprocessor Arithmetic Instructions
8085 Microprocessor Logical Instructions
8085 Microprocessor Branch Instructions
8085 Microprocessor Machine-Processor Control Instructions
Basic Structure of an Assembly Language Program
Programming Techniques for Repeated Tasks
Debugging of a Microprocessor Program

8085 Microprocessor Timing Operations
Timing Diagram of 8085 Microprocessor
Time Delay in Microprocessor
Stack in 8085 Microprocessor
Subroutine in 8085 Microprocessor
MACRO in Microprocessor

Interrupts in 8085 Microprocessor
Digital to Analog Converter (DAC) in Microprocessor
Analog to Digital Converter (ADC) in Microprocessor

Programmable Peripheral Interface
8255 (PPI) Programmable Peripheral Interface
Programmable Interval Timer (PIT) 8253/8254
Programmable Interrupt Controller (PIC) 8259
Direct Memory Access (DMA) Controller 8257

8086 Microprocessor Architecture, Instructions, and Pin Diagram
Addressing Modes of the 8086 Microprocessor
Instruction Set of 8086 Microprocessor
8088 Microprocessor Architecture with Pin Diagram
Difference between 8085, 8086, and 8088 Microprocessors
80186 Microprocessor Architecture
80286 Microprocessor Architecture & Features
80386 Microprocessor Architecture & Features
80486 Microprocessor Architecture & Features
80586 (Pentium) Microprocessor Architecture & Features

8051 Microcontroller Architecture
8051 Microcontroller Memory Organization
8051 Microcontroller Pin Configuration & Programming Model
8051 Microcontroller Timers and Counters
Serial Communication in 8051 Microcontroller
Interrupts of the 8051 Microcontroller
Addressing Modes of the 8051 Microcontroller
Intel MMX Architecture
Dual Core Processor

LED & Multiplexed Display Interfacing with Microprocessor
Liquid Crystal Display (LCD) Pin Configuration & Interfacing
Matrix Keyboard Interfacing with Microprocessor
8279 Keyboard/Display Controller
Programmable Communication Interface (USART) 8251
Serial Communication Standards in Microprocessor
Computer System Standard Buses

TheCScience

At TheCScience.com, our mission is to make quality education accessible to everyone. We provide in-depth, easy-to-understand articles covering Secondary, Senior Secondary, and Graduation-level subjects.

Our content is designed to simplify complex concepts through clear explanations, diagrams, and structured learning—helping students build strong fundamentals and succeed academically without financial barriers.

Pages

About US

Contact US

Privacy Policy

DMCA

Our Tools

Hosting - get 20% off

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Microprocessor

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes