Keret a gyakorláshoz
Az órai anyaghoz és a gyakorláshoz az alábbi linken található kódkezdemény:
Az órai anyaghoz és a gyakorláshoz az alábbi linken található kódkezdemény:
Az assembly is szükségünk lehet arra, hogy az általunk használt eljárásoknak paramétereket adjunk át. A megszokott nyelvekkel (C, C++, Java, C#) ellentétben viszont itt a paramétereket nem egy paraméterlistán keresztül adjuk át. E-helyett azt használjuk, ki, hogy eljáráshíváskor a a tárolt adatok nagy része - a legtöbb regiszter, a verembe korábban beletett, az adat szegmensben tárolt adatok - érintetlenül maradnak.
A paraméterek átadása tehát úgy fog működni, hogy az eljáráshívás előtt az adatokat egy megfelelő tárolóba tesszük, amiből az eljárás futása közben kivehetjük azokat.
Mindemellett az paraméterátadásnak több formája van attól függően, hogy milyen tárolót használunk az átadásra. A különböző tárolók használatának vannak előnyei, hátrányai, amik szintén fontosak.
A tárgyalt technikákhoz szükség van az eljáráshívások mechanizmusának pontos ismeretére is.
Egy eljárás szerkezete az alábbi módon néz ki:
ELJARAS PROC
; ...
; Eljárás törzse
; ...
RET ; Visszateres a hivohoz
ELJARAS ENDP
Az eljárásunkat a "CALL ELJARAS" utasítással hívhatjuk meg. Ennek működése:
Az eljárásból történő visszatérés a RET utasítással történik. Ennek működése:
FONTOS :