|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 6, 2004 09:08:06 как преобразовать с помощью инструкций MMX массив целых чисел размера BYTE mass[size] выбрав из него по порядку четные и нечетный числа? BYTE mass[] = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 BYTE result[] = {even, odd} = 0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15 |
|
|
Дата: Ноя 6, 2004 16:14:35 А чётных и нечётных чисел в word (dword, qword) поровну? |
|
|
Дата: Ноя 6, 2004 19:27:36 · Поправил: Black_mirrormovq mm7,qword [mask_00FF00FF00FF00FF];маску вообще перед циклом нужно загрузить movq mm0,[esi] movq mm2,mm7 movq mm1,[esi+8] movq mm3,mm7 pand mm2,mm0 pand mm3,mm1 psrlw mm0,8 packuswb mm2,mm3;в mm2 чётные байты psrlw mm1,8 packuswb mm0,mm1;в mm0 нечётные байты mask_00FF00FF00FF00FF dw 255,255,255,255 сдвиги на MMX параллельно с другими инструкциями вроде выполняться не могут, но код на оптимальность и завершенность совсем не претендует ;) |
|
|
Дата: Ноя 8, 2004 17:14:15 thanks |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068 |