when i compile my file the following error message is generated: ------------------------------------- Build target 'Target 1' compiling robo.c... linking... *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_REVERSE?ROBO creating hex file from "robot"... "robot" - 0 Error(s), 1 Warning(s). -------------------------------------- what does this warning mean ? will my program run smoothly if i write this hex file to my microcontroller ? Following is the source of my program: #include <REG52.H> #include <stdio.h> #include <intrins.h> unsigned char speedleft,speedright,speed=20; unsigned char high,low,flag,time=500; void delay (unsigned char c) { do { _nop_(); _nop_(); } while (--c); } Forward(char speed) { P1=0x64; speedright = speed+10; speedleft = speed; delay(time); } TurnRight() { P1=0x68; speedright = low+5; speedleft = low; delay(time); } TurnLeft() { P1=0x54; speedright = low+5; speedleft = low; delay(time); } Reverse(char speed) { P1=0x58; speedright = speed; speedleft = speed+5; delay(time); } Run() { char sensors; sensors = (P3 &=0x0f); if((sensors & 0x01)==0) { TurnRight(); flag = 1; } else if((sensors & 0x08)==0) { TurnLeft(); flag = 2; } else if(sensors == 0x09) { Forward(high); flag = 0; } else if(((sensors==0x0b)||(sensors==0x0d))&&(flag==0)) Forward(low); } main() { P1=0x40; P3=0xff; high = 80; low = 30; flag = 0; while(1) { P3|= 0x0f; Run(); } }