Data transfer instructions copies data from a source to a destination without modifying the contents of the source.
They perform the following six operations:
- Load an 8 bit number in a register.
- Copy from register to register.
- Copy between I/O and accumulator.
- Load 16-bit number in a register pair.
- Copy betwwen register and memory.
- Copy between registers and stack memory.
The complete list of data transfer instructions in 8085 is described in the following table.
MNEMONIC | DESCRIPTION | EXAMPLE |
---|---|---|
MVI R, 8-bit | 2-byte instruction. Loads the 8 bits of the second byte into the register specified. |
MVI A, 57H |
MOV Rd, Rs | 1-byte instruction. Copies data from source register Rs to destination register Rd. |
MOV B, C |
MOV R, M | Copy the data byte into register from the memory specified by the address in HL register. | MOV B, C |
MOV M, R | Copy the data byte from register into the memory specified by the address in HL register. | MOV B, C |
OUT 8-bit (port address) | 2-byte instruction. Sends the contents of the accumulator to the output port specified in the second byte. |
OUT 35 |
IN 8-bit (port address) | 2-byte instruction. Accepts data from the input port specified in the second byte, and loads into the accumulator. |
IN 15 |
LXI Rp, 16-bit | Load 16-bit number in a register pair | LXI B, 2050H |
LDA 16-bit | Copy the data byte into A from the memory specified by 16-bit address | LDA 1050H |
STA 16-bit | Copy the data byte from A into the memory specified by 16-bit address | STA 2070H |
LDAX Rp | Copy the data byte into A from the memory specified by the address in the register pair | LDAX B |
STAX Rp | Copy the data byte from A into the memory specified by the address in the register pair | STAX D |