Li, There's several ways of doing it. This way is pretty fast and makes few assumptions about the buffer.
void FixEndian(long* buf, unsigned long num_longs) { __asm__(" addi 3,3,-4"); __asm__(" mtspr 9,4"); __asm__(" lwzu 4,4(3)"); __asm__(" stwbrx 4,0,3"); __asm__(" bc 16,0,$-8"); } Charlie ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/