Eljárások
Az assembly eljárásai a call utasítással hívhatók, belőlük visszatérni a ret utasítással lehet.
call proc1
...
proc1 proc
;eljárás kódja
ret
proc1 endp
Ebből rögtön látszik, hogy nem lehet paramétereket megadni az eljárásoknak, és nincs visszatérési értékük sem. Általában a bemenő paramétereket a verem teteje pótolja. Tehát azok az értékek számítanak paraméternek, amit közvetlenül az eljárás hívása előtt teszünk a verembe.
;paraméterek elhelyezése a verembe
push 1
push 2
;eljárás hívása
call proc1
A fenti példában az 1 és 2 számok közvetlenül proc1 eljárás meghívása előtt kerülnek a verembe. Fontos hangsúlyozni, hogy ez nem feltétlenül jelenti azt, hogy proc1 eljárást két paraméterrel hívtuk meg, csupán konvenció, hogy ha ezek után proc1 bemenő paramétereket keres, akkor a verem tetején fogja keresni, így az 1 és 2 értékeket fogja találni. Ennek az a hátránya, hogy az assembler nem ismeri fel fordítási időben, ha nem megfelelő mennyiségű paraméterrel hívtuk meg az eljárást. Ezt a hibát leginkább makróval lehet feloldani.
A paraméterátadás módja a fentiek alapján érték szerinti, hiszen a paraméterek értéke bemásolódik a verembe. Valójában mivel pointert is lehet érték szerint átadni, könnyen megoldható a cím szerinti paraméterátadás is. Visszatérési értéknek regisztereket, leginkább az AX/EAX regisztert szokás használni.