|
Перевод BE -> LE:
unsigned int IntReverse(unsigned int v)
{
unsigned long t;
t = v ^ ((v << 16) | (v >> 16)); // EOR r1,r0,r0,ROR #16
t &= ~0xff0000; // BIC r1,r1,#&ff0000
v = (v << 24) | (v >> 8); // MOV r0,r0,ROR #8
return v ^ (t >> 8); // EOR r0,r0,r1,LSR #8
}
Не менее прозрачно и понятно
E-mail: info@telesys.ru