;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
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}