Hello all, i wrote one routine for 16X2 LCD in c. In the void main(), there is fuction call to initialize LCD, then after that, function call to selecting the DRRAM to postion the character to be displayed and than function call which writes the message to be displayed. Below the main body..... there was defenation of all the functions i have used. But to my amazment when i complied this and made hex file...... i checked its assembly(i have one software which works in reverse way than assembler, i.e. gives assembly code from hex).... the programs starts with LCD initialization function. that is at address 0000H, instead of main body there was LCD initilization function. i didnt understand why it was like this. i have not chked complete reasembled code, but will again post more detailed description of the problem!!