Friday, February 19, 2016

8085 Data Transfer instructions


Rd-Destination register


Operand  Opcode                 Description
MOV


Move


Rd,Rs  

 Rd,M


 M,Rs
This instruction copies the contents of the source register Rs or M into the destination register Rd.The content of  source register is not altered. 
Example:  MOV B,C   or  MOV B, M
MVI


Move Immediate
Rd,8 bit

M,8 bit
The 8-bit immediate data is stored in the destination register or memory.  
Example:  MVI B, 45H  or  MVI M, 46H
LXI 16-bit data The instruction loads 16-bit data in the register pair present  in the operand.Example:  LXI H, 2034H  
LDA
Load Accumulator 
Directly from Memory
16-bit address
The contents of a memory location, specified by a 16-bit address in the operand, are copied to the accumulator. 
Example:  LDA 2045H
LDAX
Load Accumulator 
from Address in Register Pair
16-bit address
The contents of a memory location, specified by a 16-bit address stored  in the register pair operand , is loaded to the accumulator.  The contents of  register pair and the memory location are are altered.
Example:  LDAX H
STA
Store Accumulator 
Directly in Memory
16-bit address
The contents of the accumulator are stored into the memory location specified by the 16-bit address.  
Example:  STA 4350H
STAX
Store Accumulator
in Address in 
Register Pair
Rp
The contents of the accumulator are copied into the memory location specified by the contents of the register pair data.  The contents of the accumulator are not altered.
Example:  STAX H
LHLD
Load H & L Registers
Directly from Memory
16-bit address
This instruction loads the  content of the memory location pointed by the 16-bit address of operand to L register and loads the contents of next memory location to H register. The contents of source memory locations are not altered.
Example:  LHLD 2040H
SHLD
Store H & L Registers Directly
 in Memory
16 bit address
The contents of register L are stored into 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.  The contents of registers HL are not altered.  
Example:  SHLD 2470H
XCHG
Exchange H & L 
with D & E
no operand
The content of the H register is exchanged with the D register and the content of the L register is exchanged with the content of E register. It has no any operand.
Example:  XCHG
XTHL
Exchange Top of 
Stack with H & L

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); however, the contents of the stack pointer register are not altered.
Example:  XTHL
PUSHRpThe 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 B 
POP Rp 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: POP H 
OUT 8-bit port address The contents of the accumulator are copied into the I/O port specified by the operand.
Example: OUT F8H
IN 8-bit port address The contents of the input port  in the operand are read and loaded into the accumulator.
Example: IN 5CH





Rs-Source register
Rp-Register pair

No comments:

Post a Comment