Guys & Alice It seems like there's been several questions about delay loops in the last few weeks. So I thought it'd be interesting to see if we could turn this into a challenge: Create a delay loop that can loop for up to 2^16 times while mininmizing the number of cycles per iteration. For example: clrf lo clrf hi movlw 1 loop: addwf lo,f ;increment the low byte skpnc ;if low byte rolls over addwf hi,f ; then increment the high byte skpc ;We're done if the high byte rolls over. goto loop This will loop 2^16 times and each pass through the loop is 6 cycles. I've got a solution that takes 5 cycles per iteration and doesn't use W (oh I shouldn't have said that - now you know the answer!). Any takers? Scott