12行后面是分号,不是冒号
一楼老哥说的对,你把分号;打成冒号:了
报错内容中的main.c(12)表示第12行有错,那就看12行即可,很快就能发现是个标点错误
后面那个P0_0恐怕也会报错,你要在main前面先定义一个sbit P0_0 = P0^0;