В нижем дворде xmm0 лежит 4 байта. Есть ли команда или можно с эмулировать это, которые распределяют каждый байт по своему дворду внутри xmm0. Т.е.: xmm0=0...0|0...0|0...0|ABCD После команд(ы) получаем: xmm0=000A|000B|000C|000D Или же может в MMX чтото есть подобное? но соответстенно по 2м двордам распротранять.. Спасибо. PS: когдато давно у меня была очень клевая презентация (вроде Интела) где в картинках объяснются ССЕ/ММХ ...может кто подскажет где она есть?
Через SSE2 можно примерно так Код (Text): .const xmm_bytes db 1,2,3,4 .code movd xmm0,dword ptr xmm_bytes pxor xmm1,xmm1 punpcklbw xmm0,xmm1 punpcklwd xmm0,xmm1
Да,красиво..Не обратил внимание на этот тип команд - думал они тока для перемешивания сгодятся..А они оказывается вона какую пользу олицетворяют. Жаль что,тока к памяти зазывание идет,что бьет по производительности..Хотя вот если только mov eax,1234; movd xmm0,eax; Вобщем,всем спасибо, все свободны. (шутка)