Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
The Computer Science
TheCScience

8085 Microprocessor Data Transfer Instructions

YASH PAL, March 18, 2026March 18, 2026

8085 Microprocessor Data Transfer Instructions – An instruction is a command in a binary pattern. Whenever an instruction is applied, the microprocessor performs a specific task. The collection of instructions is known as the instruction set of the microprocessor. The instruction set is fixed for the particular microprocessor by design and can not be altered.

Any other type of operation that is not a part of the instruction set can not be performed directly. Such operations can be performed by the combination of the instructions written and executed in sequence. The sequence of instructions to perform a specific task is known as a program. The 8085 microprocessor has 74 opcodes and 246 instructions. All the instructions in the 8085 microprocessor will be either 1-byte, or 2-bytes, or 3-bytes in length. All the instructions of the 8085 microprocessor instruction set can be classified into the following five functional categories: data transfer (move/copy) instructions, arithmetic instructions, logical instructions, branching instructions, and machine/processor control instructions.

Let’s first understand the notations used in the instructions of the 8085 microprocessor, and then we will learn about the instructions in detail. Here are the following notations used in the description of the instructions.

NotationMeaning
RAny 8-bit register (A, B, C, D, E, H, L)
RdDestination register (A, B, C, D, E, H, L)
RsSource register (A, B, C, D, E, H, L)
RpRegister pair (BC, DE, HL, SP)
MMemory location whose address is specified by the HL register pair
[ ]Data stored in a memory address specified within brackets.

Data Transfer (Move/Copy) Instructions

The data transfer instructions copy data from a source into a destination without modifying the contents of the source. The contents of the destination are replaced by the new contents from the source. It is important to note that the data transfer instructions do not affect the flag register. These instructions are used to copy data

  • between registers
  • Immediate data (8-bit or 16-bit) to a register/register pair or a memory location.
  • between a memory location and a register.
  • between an input/output device and the accumulator.
MOV Rd, RsMove (Copy) data from source register (Rs) into destination register (Rd)
OperationRd ← Rs
Length1 byte
Addressing modeRegister address mode
FlagsFlags are not affected
MOV M, RsMove (Copy) data from the source register (Rs) into the memory location given by the HL register pair.
Operation[HL] ← Rs
Length1 byte
Addressing modeIndirect addressing
FlagsFlags are not affected
MOV Rd, MMove (Copy) the data from the memory location pointed by the HL register pair into register Rd
OperationRd ← [HL]
Length1 byte
Addressing modeIndirect addressing
FlagsFlags are not affected
MVI Rd, data (8-bit)Move (Copy) the 8-bit immediate data into the destination register Rd
OperationRd ← data (8-bit)
Length2 byte
Addressing modeImmediate addressing
FlagsFlags are not affected
MVI M, data (8-bit)Move (Copy) the 8-bit immediate data into the memory location pointed by the HL register pair.
Operation[HL] ← data (8-bit)
Length2 byte
Addressing modeIndirect addressing
FlagsFlags are not affected
LXI Rp, data (16-bit)Load 16-bit immediate data into the register pair Rp
OperationRd ← data (16-bit)
Length3 byte
Addressing modeImmediate addressing mode
FlagsFlags are not affected
LDA Address (16-bit)Load the data byte into the accumulator from the specified memory location.
OperationA ← [Address]
Length3 byte
Addressing modeDirect addressing mode
FlagsFlags are not affected
STA Address (16-bit)Store the data byte into the specified memory location from the accumulator.
Operation[Address] ← A
Length3 byte
Addressing modeDirect addressing mode
FlagsFlags are not affected
LDAX RpLoad the accumulator with the data stored at the location pointed to by register pair Rp
OperationA ← [Rp]
Length1 byte
Addressing modeIndirect addressing mode
FlagsFlags are not affected
STAX RpStore the contents of the accumulator into the memory location pointed to by register pair Rp
Operation[Rp] ← A
Length1 byte
Addressing modeIndirect addressing mode
FlagsFlags are not affected
IN Address (8-bit)Copy the data from the 8-bit port address into the accumulator.
OperationA ← [Address]
Length2 byte
Addressing modeDirect addressing mode
FlagsFlags are not affected
OUT Address (8-bit)Copy the data from the accumulator into the 8-bit port address.
Operation[Address] ← [A]
Length2 byte
Addressing modeDirect addressing mode
FlagsFlags are not affected
SHLD Address (16-bit)Store contents of HL register pair directly into two conjugative memory locations.
Operation[Address + 1] ← H
Length3 bytes
Addressing modeDirect addressing mode
FlagsFlags are not affected
LHLD Address (16-bit)Load HL register pair from two conjucative memory locations.
Operation[L] ← [Address]
H ← [Address + 1]
Length3 bytes
Addressing modeDirect addressing mode
FlagsFlags are not affected
XCHGExchange H and L with D and E
OperationH ↔ D
L ↔ E
Length1 bytes
Addressing modeRegister addressing mode
FlagsFlags are not affected
XTHLExchange H and L with the top of the stack
OperationL ↔ [SP]
H ↔ [SP + 1]
Length1 bytes
Addressing modeRegister addressing mode
FlagsFlags are not affected
SPHLCopy the contents of the register pair HL to the stack pointer.
OperationSP ← HL
Length1 bytes
Addressing modeRegister addressing mode
FlagsFlags are not affected
PCHLCopy the contents of the register pair to the program counters.
OperationPC ← HL
Length1 bytes
Addressing modeRegister addressing mode
FlagsFlags are not affected

engineering subjects Microprocessor microprocessor

Post navigation

Previous post
Next post

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

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

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes