;alg euklidesa default rel global main extern printf extern scanf section .data format db "%d",10,0 format_stos db "%d",10,0 section .text main: push rbp mov rbp,rsp mov edi,3084 mov esi,1424 call stos call nwd mov rdi, format mov esi, eax xor rax,rax call printf wrt ..plt call stos mov rsp,rbp pop rbp ret ;zwraca to co w raxie i konczy program nwd: call stos ;kolejne wywolania rekurencyjne cmp esi,0 je _zwroc_a mov eax,edi xor edx,edx div esi mov edi,esi mov esi,edx ;reszta dzielenia w edx edi=a esi=b call nwd _zwroc_a: mov eax,edi ret stos: push rsi push rdi mov rdi, format_stos lea rsi,[rsp+24] xor rax,rax call printf wrt ..plt ;wypisywanie adresu powrotu //rekurencja pop rdi pop rsi ret