STACK	EQU		1FH				
BOTTOM	EQU		00H				
TOP		DATA	3EH				
TREE	EQU		20H				
POINT1	EQU		21H					
POINT2	EQU		22H					
POINT3	EQU		23H					
OUT		EQU		24H					
TST:	
MOV	SP,#5FH						
MOV	DPTR,#DATS				
MOV	P2,#TREE
MOV	R0,#0
MOV	R2,#19
CPY:	
CLR		A
MOVC	A,@A+DPTR
MOVX	@R0,A
INC	DPTR
INC	R0
DJNZ	R2,CPY
MOV	DPTR,#Z1						
MOV	P2,#POINT1
MOV	R0,#0
MOV	R2,#19
CPY1:	
CLR	A
MOVC	A,@A+DPTR
MOVX	@R0,A
INC	DPTR
INC	R0
DJNZ	R2,CPY1
MOV	DPTR,#Z2						
MOV	P2,#POINT2
MOV	R0,#0
MOV	R2,#19
CPY2:	CLR	A
MOVC	A,@A+DPTR
MOVX	@R0,A
INC	DPTR
INC	R0
DJNZ	R2,CPY2
MOV	DPTR,#Z3						
MOV	P2,#POINT3
MOV	R0,#0
MOV	R2,#19
CPY3:	CLR	A
MOVC	A,@A+DPTR
MOVX	@R0,A
INC	DPTR
INC	R0
DJNZ	R2,CPY3
MOV	DPH,#OUT					
MOV	DPL,#0
MOV	R2,#0
CLR		A
CLEAR:	
MOVX	@DPTR,A						
INC	DPTR
DJNZ	R2,CLEAR
MOV	P2,#TREE						
MOV	R0,#0
MOV	DPH,#OUT					
MOV	DPL,#0
MOVX	A,@R0					
MOVX	@DPTR,A						
INC	R0								
INC	DPTR							
JZ	STOP							
LCALL	SETNULL						
LCALL	POST						
STOP:	LJMP	STOP				
DATS:	
DB		12H,41H,42H,43H				
DB		44H,45H,46H,47H
DB		48H,49H,4AH,4BH
DB		4CH,4DH,4EH,4FH
DB		50H,51H,52H
Z1:	
DB		00H,02H,05H,00H				
DB		07H,08H,00H,0AH
DB		0CH,00H,0FH,12H
DB		00H,00H,00H,00H
DB		00H,00H,00H
Z2:	
DB		00H,03H,06H,00H				
DB		00H,09H,00H,0BH
DB		0DH,00H,10H,00H
DB		00H,00H,00H,00H
DB		00H,00H,00H
Z3:	
DB		00H,04H,00H,00H			
DB		00H,00H,00H,00H
DB		0EH,00H,11H,00H
DB		00H,00H,00H,00H
DB		00H,00H,00H
POST:	
MOV	P2,#TREE						
MOVX	A,@R0						
JZ		POSTEND					
MOV	P2,#POINT1				
MOVX	A,@R0						
JZ		POST1					
XCH		A,R0							
LCALL	DPUSH						
LCALL	POST						
LCALL	DPOP						
MOV	R0,A
MOV	P2,#POINT2					
MOVX	A,@R0						
JZ		POST1						
XCH		A,R0						
LCALL	DPUSH						
LCALL	POST					
LCALL	DPOP						
MOV	R0,A
MOV	P2,#POINT3					
MOVX	A,@R0						
JZ		POST1						
XCH		A,R0							
LCALL	DPUSH						
LCALL	POST						
LCALL	DPOP						
MOV	R0,A
POST1:	
MOV	P2,#TREE						
MOVX	A,@R0						
MOVX	@DPTR,A						
INC		DPTR					
POSTEND:
RET								
SETNULL:
MOV	A,#BOTTOM					
MOV	TOP,A						
RET									
DPUSH:	
INC		TOP							
PUSH	DPH
PUSH	DPL
MOV	DPH,#STACK					
MOV	DPL,TOP						
MOVX	@DPTR,A						
POP	DPL
POP	DPH
RET								
DPOP:	
PUSH	DPH
PUSH	DPL
MOV	DPH,#STACK				
MOV	DPL,TOP						
MOVX	A,@DPTR						
DEC		TOP							
POP		DPL
POP		DPH
RET		



