Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .686
- .XMM ; zezwolenie na asemblację rozkazów grupy SSE
- .model flat
- public _dodaj_SSE
- .code
- _dodaj_SSE PROC
- push ebp
- mov ebp, esp
- push ebx
- push esi
- push edi
- mov esi, [ebp+8] ; adres pierwszej tablicy
- mov edi, [ebp+12] ; adres drugiej tablicy
- mov ebx, [ebp+16] ; adres tablicy wynikowej
- ; ładowanie do rejestru xmm5 czterech liczb zmiennoprzecin-
- ; kowych 32-bitowych -liczby zostają pobrane z tablicy,
- ; której adres poczatkowy podany jest w rejestrze ESI
- ; interpretacja mnemonika "movups" :
- ; mov -operacja przesłania,
- ; u -unaligned (adres obszaru nie jest podzielny przez 16),
- ; p -packed (do rejestru ładowane są od razu cztery liczby),
- ; s -short (inaczej float, liczby zmienoprzecinkowe; 32-bitowe)
- movups xmm5, [esi]
- movups xmm6, [edi]
- ; sumowanie czterech liczb zmiennoprzecinkowych zawartych
- ; w rejestrach xmm5 i xmm6
- paddsb xmm5, xmm6
- ; zapisanie wyniku sumowania w tablicy w pamięci
- movups [ebx], xmm5
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
- _dodaj_SSE ENDP
- END
Add Comment
Please, Sign In to add comment