
        MOV	R0,#25                  ;move to R0 the number 25 in order to take 25 bytes
NEXT1:
	CLR	A
	JNB 	RI,$  			;Wait for 8051 to set the RI flag.
	MOV 	A,SBUF			;Read the character from the serial port.
	CLR	RI                      ;clear Ri flag in order to receive next byte
	MOV	DPTR,#0FE00H            ;move to DPTR the address 0FE00H to start storing from this.
	MOVX	@DPTR,A                 ;store the data of ACC in address which show the DPTR
	INC	DPTR                    ;increase DPTR in order to store the next byte to the next address
	DJNZ	R0,NEXT1                ;decrease R0 and if not equal with 0 jump to NEXT1 label
	
	CALL	ECHO                    ;call ECHO routine
	
ECHO:
	MOV	R0,#25                  ;move to R0 the number 25 in order to take 25 bytes
	MOV	DPTR,#0FE00H            ;move to DPTR the address 0FE00H to start reading from this.
	MOVX	A,@DPTR                 ;move the byte which is stored to 0FE00H address to ACC
	MOV	P2,A                    ;echo this byte to P2 of 8051 which is a led bar
	CALL	DELAY                   ;call delay in order to see this byte
	INC	DPTR                    ;increase DPTR in order to store the next byte to the next address
	DJNZ	R0,ECHO                 ;decrease R0 and if not equal with 0 jump to ECHO label
	RET