Buenas al foro, estoi empezando con C pero me cuesta batante viniendo de ASM por que pienso a nivel hardware del PIC y no logro aislarme de el en C

Perdonen si me hago pesado estos días pero el comienzo siempre es duro, y antes de desmoralizarme espero vuestra colaboracion

El programa es bien sencillo pero no me anda

Las luces del coche fantastico con led´s en el puerto D. Ave donde meti la pata:
//***********************************************
//* Primer programa por Daniel G - RaDoN *
//* en CCS. Knigh Rider´s leds *
//***********************************************
#include "16F877.h"
#use delay (clock=4000000)
#use fast_io(D)
#byte port_d = 8
#ORG 0x1F00,0x1FFF {} //for the 8k 16F876/7
main()
{
int i;
set_tris_d(0x00);
port_d = 0x01;
while(true)
{
for(i=0;i==8;++i)
{
delay_ms(500);
port_d = port_d * 2;
}
for(i=0;i==8;++i)
{
delay_ms(500);
port_d = port_d / 2;
}
}
}