Prozeduren um von Little-Endian zu Big-Endian und umgekehrt zu konvertieren:
Delphi-Quellcode:
function ChangeEndian16(X: WORD): WORD;
register;
//oder auch Swap
asm
xchg AL, AH
end;
function ChangeEndian32(X: DWORD): DWORD;
register;
asm
bswap EAX
//konvertiert Endian
end;
procedure ChangeEndian64(P: Pointer);
register;
asm
mov EDX, [EAX]
bswap EDX
mov EBX, [EAX + $04]
bswap EBX
mov [EAX], EBX
mov [EAX + $04], EDX
end;