Ukládá parametry Par1 až ParX do paměti. Parametry mohou být pouze interní proměnné makrojazyka:
dim A : Byte; dim E : String; dim B : Word; dim F : Char; dim C : Integer; dim G : Date; dim D : Real; dim X (100) : Word; dim Y (30,10) : Byte;
Nelze tedy používat konstant (Push(100)), výrazů (Push(A+9)) ani položek databází (Push(Str[dbIdent])). K vyzvednutí takto uložených parametrů slouží procedura Pop . Četnost použití procedury Push je omezená pouze dostupnou pamětí. Je potřeba dbát na správné párování procedur Push a Pop a na to, aby procedura Pop četla stejné typy proměnných, jaké se procedurou Push uložily! Procedura se používá především při tvorbě reentrantních procedur.
Podívejte se na:Ostatní procedury a funkce
Příklad:
dim A : Real;
call AProc(A, 10);
...
procedure AProc (dim A : Real; B : Byte);
dim S : String[100];
dim W : Word;
Push(S, W);
...
...
call AProc(A, B);
...
Pop(S, W);
endproc
Pozor ! Je zřejmé, že v případě nutnosti uchovávání vstupujících parametrů procedury je potřeba postupovat jinak, protože ve chvíli ukládání např parametru 'B' procedurou Push na začátku naší procedury 'AProc' je již hodnota 'B' změněna. V tomto případě je tedy nutné postupovat takto:
procedure AProc (dim A : Real;
B : Byte);
dim S : String[100];
dim W : Word;
dim SB : Byte;
Push(S, W, SB);
SB := B;
...
...
call AProc(A, SB);
...
Pop(S, W, SB);
endproc