when procedure P is called with P(a, b), the values of parameters a and b are pushed onto the stack.
Now, in the generated code for the body of procedure P, the addressing of formal parameters x and y will differ based on their positions on the stack. The value of parameter a, corresponding to formal parameter x, will be accessed at a certain offset from the stack pointer. Similarly, the value of parameter b, corresponding to formal parameter y, will be accessed at a different offset from the stack pointer.