How the Z and I Emulator for Web processes a parameter list
Every variable in a macro has an initial value, whether or not the variable is used in a parameter list. The initial value may be either a default initial value (see Table 1) or an initial value assigned by the macro writer.
A parameter list exists outside the macro to which it pertains. It is not stored in the macro itself, but rather is passed to the macro runtime when macro playback begins.
When the macro runtime prepares to play a macro, the macro runtime first initializes each variable in the macro to the initial value defined in the macro itself for that variable.
The macro runtime then looks for a parameter list. If a parameter list is provided, then the macro runtime processes each name-value pair in the parameter list, re-initializing each named variable to the value specified in the list.
The macro runtime then continues with macro playback in the usual way.