Цитата(add @ Aug 1 2006, 12:15)

rol tmp
ror tmp2
rol tmp
ror tmp2
...
Наверное самый быстрый.
16 тактов (1мкс 16МГц)32 байт
Вот так будет короче и быстрее:
Код
; 13 words / 13 cycles
; tmp= abcdefgh
mov tmp2,tmp ; tmp2= abcdefgh
andi tmp2,0b01010101 ; tmp2= 0b0d0f0h
andi tmp, 0b10101010 ; tmp= a0c0e0g0
bst tmp2,0 ; T=h
lsr tmp2 ; tmp2= 00b0d0f0
bld tmp2,7 ; tmp2= h0b0d0f0
lsl tmp ; tmp= 0c0e0g00 C=a
adc tmp, tmp2 ; tmp= hcbedgfa
mov tmp2,tmp ; tmp2= hcbedgfa
andi tmp2,0b01100110 ; tmp2= 0cb00gf0
swap tmp2 ; tmp2= 0gf00cb0
andi tmp, 0b10011001 ; tmp= h00ed00a
add tmp, tmp2 ; tmp= hgfedcba