%include "rw32.inc" section .text ; int obsah(int x1, int y1, int x2, int y2); obsah: enter 0,0 ; vytvoření zásobníkového rámce push edx ; záloha, protože volající funkce může EDX používat ; EDX = X2-X1 mov edx, [ebp+16] sub edx, [ebp+8] ; EAX = Y2-Y1 mov eax, [ebp+20] sub eax, [ebp+12] ; EAX = EAX*EDX mul edx pop edx ; obnova leave ; zrušení zásobníkového rámce ret main: push dword 20 ; Y2 - 4. parametr push dword 15 ; X2 - 3. parametr push dword 5 ; Y1 - 2. parametr push dword 2 ; X1 - 1. parametr call obsah add esp, 16 ; úklid zásobníku, 4 parametry ; alternativně můžu 4x zavolat pop call WriteUInt32 ; 15*13 = 195 ret