.686 .model flat public _szukaj_max public _plus_jeden .code _szukaj_max PROC push ebp ; zapisanie zawartosci EBP na stosie mov ebp, esp ; kopiowanie zawartosci esp do ebp mov eax, [ebp+8] ; liczba x cmp eax, [ebp+12] ; x ?= y jge x_wieksza ; skok gdy x >= y ; przypadek x < y mov eax, [ebp+12] ; liczba y cmp eax, [ebp+16] ; porownanie liczb y i z jge y_wieksza ; szkok gdy y>= z ; przypadek y < z ; zatem z jest liczba najwieksza wpisz_z: mov eax, [ebp + 16] ; liczba z porownaj_max_z_d: cmp eax, [ebp+20] jge zakoncz mov eax, [ebp+20] zakoncz: pop ebp ret x_wieksza: cmp eax, [ebp+16] ; porowanie x i z jge porownaj_max_z_d ; skok, gdy x >= z jmp wpisz_z y_wieksza: mov eax, [ebp+12] ; liczba y jmp porownaj_max_z_d _szukaj_max ENDP _plus_jeden PROC push ebp ; zapisanie zawartosci ebp na stosie mov ebp, esp ; kopiowanie zawartosci esp do ebp push ebx ;przechowanie zawartosci rejestru ebx push edx ; wpisanie do rejestru ebx adresu zmiennej zdefiniowanej ; w kodzie w jezyku c mov ebx, [ebp+8] mov eax, [ebx] ; odczytanie wartosci zmiennej mov edx, eax sub eax, edx sub eax, edx mov [ebx], eax pop edx pop ebx pop ebp ret _plus_jeden ENDP _odejmij_jeden PROC push ebp mov ebp, esp push ecx mov eax, [ebp+8] ; wpisz do eax wartosc adresu wskazujacego na pamiec ktora zawiera wartosc zmiennej :) mov ecx, [eax] ; wpisz do ecx wartosc adresu wskazujacego na pamiec ktora zawiera wartosc mov eax, [ecx] ; wpisz do eax wartosc dec eax mov [ecx], eax pop ecx pop ebp ret _odejmij_jeden ENDP END