0% found this document useful (0 votes)
29 views

Data transfer instructions in 8086 microprocessor

The document outlines data transfer instructions in the 8086 microprocessor, which are crucial for moving data between memory, registers, and I/O devices. It categorizes these instructions into five types: move, load, store, input/output, and string instructions, detailing their functions and providing examples. These instructions facilitate data manipulation and communication in various applications, making them fundamental to programming in the 8086 microprocessor.

Uploaded by

ezekiel nyamu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Data transfer instructions in 8086 microprocessor

The document outlines data transfer instructions in the 8086 microprocessor, which are crucial for moving data between memory, registers, and I/O devices. It categorizes these instructions into five types: move, load, store, input/output, and string instructions, detailing their functions and providing examples. These instructions facilitate data manipulation and communication in various applications, making them fundamental to programming in the 8086 microprocessor.

Uploaded by

ezekiel nyamu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Data transfer instructions in 8086

microprocessor
Last Updated : 24 Apr, 2023


Introduction :
Data transfer instructions in the 8086 microprocessor are used to
move data between memory locations, registers, and input/output
(I/O) devices. These instructions are essential for manipulating data
within a program, as well as for communicating with external
devices.
Data transfer instructions are a fundamental part of programming
in the 8086 microprocessor, and are used extensively in
applications ranging from simple data manipulation to complex I/O
device communication and string processing.
Data transfer instructions are the instructions which transfers data
in the microprocessor. They are also called copy instructions.
Types of Data transfer instructions :
1. Move instructions:
These instructions are used to move data from one memory
location to another or between a memory location and a register.
They include the following instructions:
 MOV: Moves data from a source operand to a destination
operand.
 XCHG: Swaps the contents of two operands.
 XLAT: Translates a byte in memory using a lookup table
pointed to by the contents of the AL register.
 LEA: Loads a 16-bit offset address into a register.
2. Load instructions:
These instructions are used to load data from a memory location or
I/O device into a register. They include the following instructions:
 LDS: Loads a 16-bit pointer value from a memory location
into a register pair and loads the 8-bit value from the next
memory location into another register.
 LSS: Loads a 16-bit pointer value from a memory location
into a register pair and loads the 16-bit value from the next
memory location into another register.
 LXI: Loads a 16-bit value into a register pair.
 MOV with memory operand: Loads data from a memory
location into a register.

3. Store instructions:
These instructions are used to store data from a register into a
memory location or I/O device. They include the following
instructions:
 MOV with memory operand: Stores data from a register into
a memory location.
 STA: Stores the contents of the accumulator register (AL or
AX) in memory.
 STAX: Stores the contents of a register pair (BC, DE, or HL)
in memory using either the indirect addressing
 mode or the direct addressing mode.
 SHLD: Stores a 16-bit data word from registers H and L in
memory using the direct addressing mode.
 PUSH: Stores the contents of a register onto the stack.

4. Input/Output instructions:
These instructions are used to communicate with external
input/output (I/O) devices. They include the following instructions:
 IN: Reads a byte or word of data from an I/O port into a
register.
 OUT: Writes a byte or word of data from a register to an I/O
port.
 INS: Reads a block of data from an I/O port into a memory
location.
 OUTS: Writes a block of data from a memory location to an
I/O port.

5. String instructions:
These instructions are used for manipulating strings of data, such
as moving, copying, or comparing strings. They operate on
consecutive bytes or words in memory, and can be used for fast
and efficient string processing. Some examples of string
instructions include:

 MOVS: Moves a byte or word from a source location to a


destination location, and updates the index registers to
point to the next byte or word.
 CMPS: Compares a byte or word in memory to a byte or
word in a register, and updates the index registers
accordingly.
 LODS: Loads a byte or word from a memory location into a
register, and updates the index registers to point to the
next byte or word.
 STOS: Stores a byte or word from a register into a memory
location, and updates the index registers to point to the
next byte or word.
Following is the table showing the list of data transfer instructions:

OPCOD
E OPERAND EXPLANATION EXAMPLE

MOV D, S D=S MOV AX, [SI]

PUSH D pushes D to the stack PUSH DX

POP D pops the stack to D POP AS

PUSHA none put all the registers into the stack PUSHA

POPA none gets words from the stack to all registers POPA

XCHG [2050],
XCHG D, S exchanges contents of D and S
AX

IN D, S copies a byte or word from S to D IN AX, DX

OUT D, S copies a byte or word from D to S OUT 05, AL


OPCOD
E OPERAND EXPLANATION EXAMPLE

translates a byte in AL using a table in


XLAT none XLAT
the memory

loads AH with the lower byte of the flag


LAHF none LAHF
register

stores AH register to lower byte of the


SAHF none SAHF
flag register

copies the flag register at the top of the


PUSHF none PUSHF
stack

copies a word at the top of the stack to


POPF none POPF
the flag register

Here D stands for destination and S stands for source.


D and S can either be register, data or memory address.

You might also like