Swap, функцияСинтаксисfunction Swap(Value: Integer): Integer; Описание
Функция Swap переставляет байты самого младшего слова из Value. Старшие 16 бит
не затрагиваются. Если Value имеет тип Int64, Swap игнорирует старшие 32 бита,
оставляет неизменными следующие 16 бит и выполняет перестановку младших 16 бит.
Функция возвращает результирующее 32-битовое слово (полностью отбрасывая исходные
старшие 32 бита).
Swap не является настоящей функцией, а преобразуется в inline-код. ОшибкиСоветы и приемы
Пример// Перестановка байт 32-битового целого; подходит, например, // для передачи данных между процессорами Intel и Sun. function Swap32(Value: LongWord): LongWord; begin Result := Swap(Value shr 16) or (Swap(Value) shl 16); end; // Если действительно требуется переставить байты в 32-битовом // целом, например, для преобразования обратного порядка байт в // е прямой, используйте не функцию Swap, а инструкцию // BSWAP. function FastSwap(Value: LongWord): LongWord; register; overload; asm bswap eax end; // Для перестановки значения Int64 аргумент передается в стек, // а возвращаемое значение - в EAX:EDX. function FastSwap(Value: Int64): Int64; register; overload; asm mov edx, [esp+8] bswap edx mov eax, [esp+12] bswap eax end; Смотрите такжеФункции Hi, Lo.Учебник по языку Pascal Лабораторные работы по программированию Справочник
|