串口通信代码,总是显示这个错误,不知道怎么改,求解!SHIYANSHI.C(2): error C129: missing ';' before 'data'

uchar data TEMP,TEMP2,n=8;
uchar data dbuf[8];
uchar code segta[16]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0X83,0XC6,0XA1,0X86,0X8E};
void UART () interrupt 4 using 2
{
if(RI==1)
{
RI=0;
TEMP2=SBUF;
PUT_BUFFER();
}
else
{
TI=0;
}
}
void EXTR0 () interrupt 0 using 1
{
SBUF=P2;
}
void PUT_BUFFER()
{
TEMP=TEMP2>>4;
dbuf[n-1]=TEMP;
n--;
TEMP=TEMP2&0x0f;
dbuf[n-1]=TEMP;
n--;
if(n==0)n=8;
else n=n;
}

main ()
{
TMOD=0X20;
TL1=0XFD;
TH1=0XFD;
PCON=0X00;
SCON=0X50;
IP=0X10;
EA=1;
ES=1;
EX0=1;
IT0=1;
TR1=1;
while (1)
display ();
}

uchar data dbuf[8];
data是个什么,是变量吗,还是类型,为什么上下都有data
我看你代码里也没有用到data啊,把data删掉