posted last week, but the subject line was nonsense so may have been missed. - 16 cycles - 16 words - uses 1 addition byte or RAM. - Enter with byte to be reversed in WREG, ends with reversed byte in WREG. - Isochronous. rlcf WREG,f ; W = d6 d5 d4 d3 d2 d1 d0 C {C = d7} rrcf Reverse,f ; Rev = d7 R7 R6 R5 R4 R3 R2 R1 {C = R0} rlcf WREG,f ; W = d5 d4 d3 d2 d1 d0 C R0 {C = d6} rrcf Reverse,f ; Rev = d6 d7 R7 R6 R5 R4 R3 R2 {C = R1} rlcf WREG,f ; W = d4 d3 d2 d1 d0 C R0 R1 {C = d5} rrcf Reverse,f ; Rev = d5 d6 d7 R7 R6 R5 R4 R3 {C = R2} rlcf WREG,f ; W = d3 d2 d1 d0 C R0 R1 R2 {C = d4} rrcf Reverse,f ; Rev = d4 d5 d6 d7 R7 R6 R5 R4 {C = R3} rlcf WREG,f ; W = d2 d1 d0 C R0 R1 R2 R3 {C = d3} rrcf Reverse,f ; Rev = d3 d4 d5 d6 d7 R7 R6 R5 {C = R4} rlcf WREG,f ; W = d1 d0 C R0 R1 R2 R3 R4 {C = d2} rrcf Reverse,f ; Rev = d2 d3 d4 d5 d6 d7 R7 R6 {C = R5} rlcf WREG,f ; W = d0 C R0 R1 R2 R3 R4 R5 {C = d1} rrcf Reverse,f ; Rev = d1 d2 d3 d4 d5 d6 d7 R7 {C = R6} rlcf WREG,f ; W = C R0 R1 R2 R3 R4 R5 R6 {C = d0} rrcf Reverse,w ; W = d0 d1 d2 d3 d4 d5 d6 d7 {C = R7} - Andy. --------------------------------------------------------- Andrew David, Software Manager, Ultronics Ltd, Cheltenham akdavid@ultronics.co.uk http://www.ultronics.com