; push bytes on to stack
LXI H,start address
MVI C,number of bytes
LOOP1:
MOV A,M
PUSH PSW
DCR C
JNZ LOOP1
; pop bytes in reverse order off of stack
LXI H,start address
MVI C,number of bytes
LOOP2:
POP PSW
MOV M,A
DCR C
JNZ LOOP2
Alternate Answer: (Not using the stack)
LXI B, start address
LXI D, end address
LOOP1:
LDAX B get first byte
MOV H,A save it
LDAX D get last byte
STAX B store in first byte position
MOV A,H retrieve last byte
STAX D store in last byte position
INX B increment first byte address
DCX D decrement last byte address
MOV A,B loop until addresses cross
CMP D
JNC LOOP1
MOV A,C
CMP E
JNC LOOP1
Copyright © 2026 eLLeNow.com All Rights Reserved.