HI EVERYONE
CODE IS WORKING BUT.
I AM CONFUSED THAT CODE TAKE LONG SPACE FOR SIMPLIFI WHAT IS AN OTHER WAY?
MY CODE IS


@ DEVICE PIC16F688, HS_OSC, WDT_OFF, PWRT_OFF, MCLR_OFF, BOD_OFF,PROTECT_OFF
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 9 ' 115200 Baud @ 18.432MHz, 0.0%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

TRISA =%11111111
TRISC =%11110111
ANSEL = 0 'ALL DIGITAL
INTCON = 0 'Disable interrupts
DATAIN VAR byte[7]
X VAR BYTE
LED VAR PORTC.3
MAIN:
HSERIN [WAIT($07,$06), str DATAIN\7]
GOSUB A
GOSUB B
GOSUB C
GOSUB CK
GOTO MAIN
A:
IF DATAIN[2]=$2D AND DATAIN[3]=$A1 AND DATAIN[4]=$00 AND DATAIN[5]=$CD AND DATAIN[6]=$C2 THEN
X[0]=1
ELSE
X[0]=0
ENDIF
RETURN
B:
IF DATAIN[2]=$2B AND DATAIN[3]=$FA AND DATAIN[4]=$3B AND DATAIN[5]=$65 AND DATAIN[6]=$0C THEN
X[1]=1
ELSE
X[1]=0
ENDIF
RETURN
C:
IF DATAIN[2]=$2E AND DATAIN[3]=$69 AND DATAIN[4]=$06 AND DATAIN[5]=$A6 AND DATAIN[6]=$21 THEN
X[2]=1
ELSE
X[2]=0
ENDIF
RETURN
CK:
IF X[0]=0 AND X[1]=0 AND X[2]=0 THEN
LOW LED
ELSE
HIGH LED
ENDIF
RETURN
GOTO MAIN
END