LCD 128x64 PIC16F877 nejde načíst hodnota bytu

Je to ve funkci write_data.Oni tam používají cyklus na úpravu.Stačí ten cyklus smazat a poslat data přímo (PORTD = Rsspdata;)
Celá funkce by měla vypadat nějak takhle:
void write_data(unsigned char Rsspdata)
{
Rs=0;
RW=1;
E=1;
E=0;
TRISD=0B00000000;
Rs=1;
RW=0;
PORTD = Rsspdata;
E=1;
asm(“NOP”);
asm(“NOP”);
asm(“NOP”);
E=0;
}