Működés
Az INVOKE direktíva csak a 32 bites módban érhető el. Argumentumokat helyez el a veremben, majd meghív egy eljárást. Az INVOKE egy kényelmes helyettesítése a CALL utasításnak, mivel lehetőséget ad több argumentum elhelyezésére egyetlen programkód soron belül. Az alap szintaxis:
INVOKE eljárásNév [, paraméterLista]
A paraméterLista egy opcionális, vesszővel elválasztott listája az argumentumoknak, melyeket átadunk az eljárásnak.
PROC direktíva: A PROC direktíva használatával hozhatunk létre saját eljárásokat.
név PROC [attribútumok] [USES regiszterLista], paraméterLista
...
név ENDP
A megadható attribútumokkal most nem foglalkozunk.
USES direktíva: Az adott eljárás fejlécében a USES direktíva használatával lehetőségünk van megadni regiszterek egy listáját (vessző nélkül, egymás után felsorolva), melyek az eljárás meghívásakor lementésre kerülnek a verembe, végrehajtódik az eljárás, majd visszatéréskor a veremből visszaállításra kerülnek. Természetesen azon regiszter(ek) lementése nem szükséges, amely(ek) eredményt ad(nak) vissza.
A paraméterlistában megadhatunk tetszőleges számú és típusú paramétert vesszővel elválasztva, melyeknek az eljárás hívásakor van lehetőségünk értéket adni és az eljárás futásakor felhasználni. Az alap szintaxis:
..., elsőParamNev:típus1, másodikParamNev:típus2, ...
PROTO direktíva: A PROTO direktíva készíti el egy létező eljárás prototípusát. A prototípus deklarálja az eljárás nevét és paraméterlistáját. Lehetővé teszi, hogy az adott eljárást a definiálása előtt meghívjuk és leellenőrizzük a paramétereinek nevét és típusát, hogy megegyeznek-e az eljárás definíciójával. Meglévő eljáráshoz prototípust készíteni úgy lehet a legegyszerűbben, hogy lemásoljuk az eljárás fejlécét és a PROC kulcsszót lecseréljük a PROTO kulcsszóra, valamint ha használtuk a USES direktívát, akkor az csak az eljárás fejlécében szerepelhet, a prototípusban nem.