Показать сообщение отдельно
  #2  
Старый 23.05.2013, 20:09
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Самопал:
Код:
a := (a shl 24) or ((a and $FF00) shl 8) or ((a and $FF0000) shr 8) or ((a and $FF000000) shr 24);
Однако учитывая, что делфи сейчас не особо компилится под что-то отличное от x86, я бы использовал bswap, потому что такой код делфа не оптимизирует.
Можно и так:
Код:
 a := Swap(a shr 16) or (Swap(a) shl 16);
Хотя пишут, что Swap оставлен только для совместимости. Компилится чуть получше. Swap заменяется на xchg ah, al.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием