I have forgotten how I created delay.
But I can remember that I used to do some calculation.
first learn what is your pic clock speed.
if you are using 4Mhz crysta you will get 1Mhz clock speed. I totally forgot why.
so in 1Mhz you are getting 1,000,000 cycle.
so write a function to get 255*2+2 cycle
;if you call this function with 255 data then you will get 255*2+2=512 cycle
func1 macro TIME DECFSZ TIME, 1 ; this will give 255 cycle
NOP ; this will give 255 cyle
so apparently you have created a delay of 0.000512 seconds. you are few steps away to make it one seconds
now please do the rest...