19
22/08/2003
Copyright Teemu Kerola 2003
Aliohjelma kutsuu funktiota (2)
procC (x, y: int, var pZ:int)
{
pZ = fA(x,y);
return;
}
…
procC (200, R, T);
vanha FP
vanha PC
vanha R1
param x
param y
vparam pZ
FP
SP
AT kuten ennen:
aliohjelman toteutus:
parXc EQU  -4 ; relative to FP
parYc EQU  -3
parpZ EQU  -2
procC PUSH  SP, R1 ; save R1
  ; call fA(parXc, parYc)
        PUSH  SP,=0 ; ret. value
        PUSH  SP, parXc(FP)
        PUSH  SP, parYc(FP)
        CALL  SP, fA   
        POP   SP, R1
        STORE R1, @parpZ (FP)
POP     SP, R1; restore R1
EXIT   SP, =3 ; 3 param.
ks. procC.k91