Hi all, This is probably old hat, but you never know. I was shown it at the microchip seminar. The delay routines' feature is that it doesn't change anything but the stack. A free beer for the first correct answer on how many stack levels it uses ;-) Delay131072 call Delay16384 Delay114688 call Delay16384 Delay98304 call Delay16384 Delay81920 call Delay16384 Delay65536 call Delay16384 Delay49152 call Delay16384 Delay32768 call Delay16384 Delay16384 call Delay2048 Delay14336 call Delay2048 Delay12288 call Delay2048 Delay10240 call Delay2048 Delay8192 call Delay2048 Delay6144 call Delay2048 Delay4096 call Delay2048 Delay2048 call Delay256 Delay1792 call Delay256 Delay1536 call Delay256 Delay1280 call Delay256 Delay1024 call Delay256 Delay768 call Delay256 Delay512 call Delay256 Delay256 call Delay32 Delay224 call Delay32 Delay192 call Delay32 Delay160 call Delay32 Delay128 call Delay32 Delay96 call Delay32 Delay64 call Delay32 Delay48 call Delay32 Delay32 call Delay4 Delay28 call Delay4 Delay24 call Delay4 Delay20 call Delay4 Delay16 call Delay4 Delay12 call Delay4 Delay8 call Delay4 Delay4 return -- Best regards Tony 'The Engine' - Design your own programmer. http://www.picnpoke.com Email picnpoke@cdi.com.au