|
|
|
функция на асме сложения 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2009, 18:30:29 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=112&tid=1344044]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 368ms |

| 0 / 0 |
