Так как начиная с некоторого времени microblaze little-endian (в связи с AXI), то в сетевых приложениях много времени занимает преобразование 2- и 4-байтовых слов в заголовках пакетов (сеть big-endian) - функции htohl, htonl, ntohs, htons.
А вот начиная с версии 8.30а в microblaze добавили инструкции swapb & co (много их).
И теперь чтобы переставить местами все байты в слове можно написать (в С коде)
Код
uint32_t ts = 0x01020304;
asm("swapb %0,%1": "=r" (ts): "r" (ts));
xil_printf("%08x", ts); // 0x04030201
И вместо около 40 инструкций - одна.
Вот. Мне очень пригодилось, может кому-то еще будет полезно.