8085 Programs
8085 Programs
A
B
C
D
E
F
I
H
L
SPH
SPL
PCH
PCL
Flags:
D7 D6 D5 D4 D3 D2 D1 D0
S Z --- AC --- P --- CY
0 1 0 1 0 1 0 0
Exchange of Data
Aim: A block of data is stored in the memory location from D001H. The
length of the block is stored in D000H. The second block length is stored from
D100H. Write ALP to exchange the contained of this two block.
Program:
Memory Hex Label Instruction Comment
location Code
C000 21 LXI H, D00AH Set up H-L as pointer source
C001 00
C002 D0
C003 21 LXI H,D100H Set up D-E as pointer to destination
C004 01
C005 D1
C006 46 MOV B,M Set up B to Count=D000H
C007 23 Next: INX H Pointer to next source location
C008 4E MOV C,M Get data from source memory
C009 1A LDAX D Load data from destination to ACC
C00A 77 MOV M,A Store [A] in first block
C00B 79 MOV A,C Copy [C] into [A]
C00C 12 STAX D Store [A] into second block
C00D 13 INX D Point to next destination
C00E 05 DCR B Decrement counter
C00F C2 JNZ Next Repeat loop unit counter 00
C010 07
C011 C0
C012 CF HLT Stop