8085 program to exchange a block of bytes in memory

Problem – Write an assembly level program in 8085 microprocessor to exchange a block of 4 bytes staring from address 2001 with data starting from address 3001.

Algorithm –

  1. Take a count equal to 4
  2. Store the starting address of both blocks in 2 different register pairs
  3. Now exchange the contents at the addresses in both register pairs
  4. Increment the values of both register pairs
  5. Decrements count by 1
  6. If count is not equal to 0 repeat steps 3 to 5

MEMORY ADDRESS MNEMONICS COMMENTS
2500 LXI D 2001 D <= 20, E <= 01
2503 LXI H 3001 H <= 20, L <= 01
2506 MVI C 04 C <= 04
2508 MOV B, M B <= M[ H-L ]
2509 LDAX D A <= M[ D-E ]
250A MOV M, A M[ H-L ] <= A
250B MOV A, B A <= B
250C STAX D M[ D-E ] <= A
250D INX H [ H-L ] <= [ H-L ] + 1
250E INX D [ D-E ] <= [ D-E ] + 1
250F DCR C C <= C – 1
2510 JNZ 2508 JUMP TO 2508 IF C NOT EQUAL TO 0
2513 HLT STOP THE PROGRAM

Explanation –

  1. LXI D 2001 – Loads register pair, that is in this case, D=20 and E=01
    LXI H 3001 – H=30 and L=01
  2. MVI C 04 – Assigns immediate data, eg.- here C=04
    MVI A 45 – assigns A(accumulator) with 45, A=45
  3. MOV B, M – Here M is the data in H – L register pair and it serves as an address. Copies content at address stored in M to register B
  4. LDAX D – Here Accumulator is loaded with the data stored at address formed by register pair D – E
  5. MOV M, A – Here A’s content is copied to address which is stored in M.
    MOV A, B – Copies content of register B to A
  6. STAX D – Stores the content of A (accumulator) in the address formed by register pair D – E.
  7. INX H – Increment the content of register pair H – L
  8. INX H – Increment the content of register pair D – E
  9. DCR C – Decrements the content of register C
  10. JNZ 2508 – If value of register C is not equal to 0 then jump to address 2508
  11. HLT – Stop execution of program

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.