Mechanizmus
A paraméter átadás legfejlettebb módja a paraméterek vermen keresztül történő átadása. Ilyenkor az eljáráshívás előtt a verembe kell menteni ezeket az értékeket.
Ebben az helyzetben az adatok átadása az alábbi lépésekkel oldható meg.
- A paramétereket elhelyezzük a veremben, és a sorrendjüket feljegyezzük.
- Meghívjuk az eljárás.
- Az eljárás hívás elején az EBP korábbi értékét elmentjük, és készítünk bele egy másolatot az ESP-ről. Ekkor az EBP egy fix pontként fogja mutatni, hogy az eljárás indulásakor hol volt a verem teteje.
- Az eljárás törzsén belül elvégezzük a számítást. A paramétereket az EBP-hez képest relatív címzéssel tudjuk megtalálni.
- A vermet továbbra is használhatjuk rendeltetés szerűen (akár újabb eljárások számára a paraméterek átadására is), mivel az ESP szabad, a paraméterek elérésére az EBP-t használjuk.
- Az eljárás végén visszaállítjuk az EBP korábbi értékét. Ha a hívó kód hasonlóan a vermen keresztül kapta a paramétereit, akkor ezzel visszaállítjuk a paraméterlistáját.
- Visszatérünk.
- A bent maradt paramétereket kitakarítjuk a veremből.ú
A maximum vermet alkalmazó megoldása az alábbi kódban található. Most először az eljáráshívást nézzük meg.