
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.12.2009, 18:30:29
|
|||
|---|---|---|---|
|
|||
функция на асме сложения 2 массивов через mmx |
|||
|
#18+
Помогите пожалуйста разобраться. задача состоит в написании dll использовать 32 бита-это использовать 2 элемента? и сложить элементы массива по минимуму. Заранее спасибо. .586 .XMM .MODEL FLAT PUBLIC _dMMX@12 .CODE _dMMX@12 PROC push ebp mov ebp, esp mov ebx, [ebp+08h];результат сложения mov eax, [ebp+0ch] ;в eax - размер массивов mov esi, [ebp+10h] ;в esi - адрес массива left mov edi, [ebp+14h] ;в edi - адрес массива right the_loop: movq mm0, [esi] ;поместить в регистр mm0 ;элемент массива left movq mm1, [edi] ;поместить в регистр mm1 ;элемент массива right paddb mm0, mm1 ;сложить регистры mm0 и mm1 add ebx, 8 ;следующие 4-ре элемента add esi, 8 ;следующие 4-ре элемента add edi, 8 ;следующие 4-ре элемента sub eax, 4 ;уменьшить значения счетчика jnz short the_loop ;конец цикла? emms pop ebp ret _dMMX@12 ENDP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1344044]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 304ms |

| 0 / 0 |
