nanosecond delay functions - playing with volatile

FYI, I focused more on the initialization of the volatile vars, and sought different ways to add cycles. Without volatile the compiler optimizes the functions away.

I will look if I can do a dump of the assembly/obj tonight but the forum is soooo sloooow at the moment.