TEMP	EQU		30H
PREV_NUM EQU	31H
ORG		0000H
LJMP	MAIN
ORG		0100H
MAIN:
MOV		DPTR,	#2100H
MOV		R7,		#10
TEST_LOOP1:
MOV		A,		R7
MOVX	@DPTR,	A
INC		DPTR
DJNZ	R7,		TEST_LOOP1
MOV		R7,		#9
MOV		PREV_NUM,#1
MOV		DPTR,	#2101H 
INSERT_LOOP1:
MOVX	A,		@DPTR
MOV		TEMP,	A	  
PUSH	DPL	          
PUSH	DPH
	MOV		R6,		PREV_NUM		
	INSERT_LOOP2:
	DEC		DPL					    
   	MOVX	A,		@DPTR           
	
	
	CJNE	A,		TEMP,			N_EQU
	
	LJMP	INSERT
	CONTINUE_THIS_INSERT:		
	DJNZ	R6,		INSERT_LOOP2
	
	DEC		DPL
	LJMP	INSERT
	NEXT_INSERT:
	INC		PREV_NUM
	POP		DPH
	POP		DPL
	INC		DPTR
DJNZ	R7,		INSERT_LOOP1
DONE:
SJMP	$
N_EQU:
JC		INSERT                              
INC		DPL
MOVX	@DPTR,		A
DEC		DPL 
LJMP	CONTINUE_THIS_INSERT
INSERT:
INC		DPL
MOV		A,		TEMP
MOVX	@DPTR,	A
LJMP	NEXT_INSERT
END