Andy, Scott- 8 cycles, even parity in bits 0-4, X not trashed. Lucky thing I emailed to Scott to establish priority on the algorithm. :-) But in all fairness, taking into account the amount of time it takes to type in the Warren-style documentation it was probably a pretty even heat. Note that you can bring it down to 7 cycles by working in X instead of fsr, but who wants to roach their data? Brian swapf X,W ; fsr: W: xorwf X,W ;----------- ----------- movwf fsr ; ABCDEFGH ABCDEFGH ;xorEFGHABCD xorEFGHABCD ; rrf fsr,F ; -ABCDEFG ABCDEFGH ;xor-EFGHABC xorEFGHABCD ; rrf fsr,F ; --ABCDEF ABCDEFGH ;xor--EFGHAB xorEFGHABCD ; xorwf fsr,F ; --ABCDEF ABCDEFGH ;xor--EFGHAB xorEFGHABCD ;xorABCDEFGH ;xorEFGHABCD ; rrf fsr,W ; --ABCDEF ---ABCDE ;xor--EFGHAB xor---EFGHA ;xorABCDEFGH xor-ABCDEFG ;xorEFGHABCD xor-EFGHABC ; xorwf fsr,F ; --ABCDEF ---ABCDE ;xor--EFGHAB xor---EFGHA ;xorABCDEFGH xor-ABCDEFG ;xorEFGHABCD xor-EFGHABC ;xor---ABCDE ;xor---EFGHA ;xor-ABCDEFG ;xor-EFGHABC