8085 Data-transfer Instructions



Following is the table showing the list of Data-transfer instructions with their meanings.

Opcode Operand Meaning Explanation
MOV

Rd, Sc

M, Sc

Dt, M

Copy from the source (Sc) to the destination(Dt)

This instruction copies the contents of the source register into the destination register without any alteration.

Example − MOV K, L

MVI

Rd, data

M, data

Move immediate 8-bit

The 8-bit data is stored in the destination register or memory.

Example − MVI K, 55L

LDA

16-bit address

Load the accumulator

The contents of a memory location, specified by a 16-bit address in the operand, are copied to the accumulator.

Example − LDA 2034K

LDAX

B/D Reg. pair

Load the accumulator indirect

The contents of the designated register pair point to a memory location. This instruction copies the contents of that memory location into the accumulator.

Example − LDAX K

LXI

Reg. pair, 16-bit data

Load the register pair immediate

The instruction loads 16-bit data in the register pair designated in the register or the memory.

Example − LXI K, 3225L

LHLD

16-bit address

Load H and L registers direct

The instruction copies the contents of the memory location pointed out by the address into register L and copies the contents of the next memory location into register H.

Example − LHLD 3225K

STA

16-bit address

16-bit address

The contents of the accumulator are copied into the memory location specified by the operand.

This is a 3-byte instruction, the second byte specifies the low-order address and the third byte specifies the high-order address.

Example − STA 325K

STAX

16-bit address

Store the accumulator indirect

The contents of the accumulator are copied into the memory location specified by the contents of the operand.

Example − STAX K

SHLD

16-bit address

Store H and L registers direct

The contents of register L are stored in the memory location specified by the 16-bit address in the operand and the contents of H register are stored into the next memory location by incrementing the operand.

This is a 3-byte instruction, the second byte specifies the low-order address and the third byte specifies the high-order address.

Example − SHLD 3225K

XCHG

None

Exchange H and L with D and E

The contents of register H are exchanged with the contents of register D, and the contents of register L are exchanged with the contents of register E.

Example − XCHG

SPHL

None

Copy H and L registers to the stack pointer

The instruction loads the contents of the H and L registers into the stack pointer register. The contents of the H register provide the high-order address and the contents of the L register provide the low-order address.

Example − SPHL

XTHL

None

Exchange H and L with top of stack

The contents of the L register are exchanged with the stack location pointed out by the contents of the stack pointer register.

The contents of the H register are exchanged with the next stack location (SP+1).

Example − XTHL

PUSH

Reg. pair

Push the register pair onto the stack

The contents of the register pair designated in the operand are copied onto the stack in the following sequence.

The stack pointer register is decremented and the contents of the high order register (B, D, H, A) are copied into that location.

The stack pointer register is decremented again and the contents of the low-order register (C, E, L, flags) are copied to that location.

Example − PUSH K

POP

Reg. pair

Pop off stack to the register pair

The contents of the memory location pointed out by the stack pointer register are copied to the low-order register (C, E, L, status flags) of the operand.

The stack pointer is incremented by 1 and the contents of that memory location are copied to the high-order register (B, D, H, A) of the operand.

The stack pointer register is again incremented by 1.

Example − POPK

OUT

8-bit port address

Output the data from the accumulator to a port with 8bit address

The contents of the accumulator are copied into the I/O port specified by the operand.

Example − OUT K9L

IN

8-bit port address

Input data to accumulator from a port with 8-bit address

The contents of the input port designated in the operand are read and loaded into the accumulator.

Example − IN5KL

microprocessor_8085_instruction_sets.htm
Advertisements