Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //a.asm
- global minmax
- section .text
- minmax:
- push rbx
- dec rsi
- mov eax, 0xFFFFFFFF ;minimum 2^32-1
- mov ebx, 0 ;pierwszy element tablicy lub 0
- petla:
- mov ecx, dword[rdi+4*rsi]
- cmp ecx, eax ;porownanie z najmniejszym
- cmovb eax, ecx ;conditional move if below
- cmp ecx, ebx
- cmova ebx, ecx ;condirional move if above
- dec rsi
- jns petla ;Jump if Not Signed (signed)
- mov [rdx], eax
- mov [rdx+4], ebx
- pop rbx
- ret
- //b.c
- #include <stdio.h>
- unsigned int tablica[10]={1,2,3,4,5,6,7,8,9,0};
- unsigned int wynik[2];
- int main(void){
- minmax(tablica, 10, wynik);
- printf("Najmniejsza liczba to %d\n", wynik[0], wynik[1]);
- return (0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement