No renderer 'pdf' found for mode 'pdf'
playground:reversing_bits_in_a_byte
This is an old revision of the document!
If you quickly need to flip the bits in a byte in reverse (turning bits from 01234567 to 76543210) you can use this unrolled loop.
ldx #0 .for(var i=0;i<8;i++) { lsr // shift A down, bit 0 to C tay // copy to Y doesn't change C txa // pull x to a, doesn't change C rol // shift left, C to bit 0 tax // stash a in x tya // get start a back from y } txa
(kickassembler loop syntax)
This takes a byte in A, reverses the bits and exits with the reversed bits in A again, using X and Y for temporary storage and only short 2-cycle instructions in the loop. Of course a table lookup will be faster if you do this a lot in your code.
playground/reversing_bits_in_a_byte.1581522177.txt.gz · Last modified: 2020-02-12 16:42 by icepic