ReAl (13.06.2007 23:59, просмотров: 1) ответил Николай Коровин на Кста об интеле... Проц -- 486. Задача -- добраться до старших 16 бит eax. Как по скорости сообразуются bswap eax и shr eax, 16 ?
Так это неэквивалентные операции Т.е. 0x33221100 shr eax,16 превратит в 0x00003322, а bswap в 0x00112233
Сдвигатель начиная с 386 уже комбинаторный, у 486-го, судя по табличке, shr reg,imm8 - 2 такта. Правда, bswap 1 такт. Так что если потом только биты проверять - то маски подрихтовать и bswap, иначе к bswap ещё xchg ah,al - а это 3 такта.