; assembly ; NASM ; regiszter: eax, ebx, ecx, edx, esi, edi ; - 32 bites mov eax, 165 ; eax := 165 ; mnemonik mov ebx, eax ; ebx := eax mov ecx, eax mov eax, ebx mov ebx, ecx xchg eax, ebx add eax, 10 add eax, ebx sub eax, 10 sub eax, ebx ; if (eax != 10) ebx = 5; cmp eax, 10 je tovabb ; j: jump ; e: equal mov ebx, 5 tovabb: jl ; l: less ; ha eax + ebx < ecx + edx ; akkor esi := eax + ecx ; különben esi := ebx + edx mov esi, eax add esi, ebx mov edi, ecx add edi, edx cmp esi, edi jl kisebb nem_kisebb: mov esi, ebx add esi, edx jmp elagazas_vege kisebb: mov esi, eax add esi, ecx elagazas_vege: int osszeg = 0; for (int i = 0; i < n; ++i) { ++osszeg; } mov edx, 7 ; n: eddig a számig kell a számok összege mov eax, 0 ; osszeg: kezdőösszeg mov ecx, 0 ; i: ciklusszámláló ciklus_eleje: cmp ecx, edx jnl ciklus_vege ; ciklusmag ; add eax, 1 inc eax ; 1+2+...+n: add eax, ecx ; inc eax ; sub eax, 1 ====> dec eax inc ecx jmp ciklus_eleje ciklus_vege: ; 1+2+...+n ; fib(1) = 1 ; fib(2) = 1 ; fib(n) = fib(n-1)+fib(n-2) mov eax, 12 ; fib(12) = ? mov ebx, 1 ; fib(1), később fib(n-2) mov ecx, 1 ; fib(2), később fib(n-1) ; ciklusszámláló sub eax, 2 ciklus_eleje: cmp eax, 0 je ciklus_vege mov esi, ebx add esi, ecx ; esi := fib(n) mov ebx, ecx ; ebx := fib(n-1) mov ecx, esi ; ecx := fib(n) dec eax jmp ciklus_eleje ciklus_vege: