Generator Specifications
K
A
DAK
361
The first statement in this example is a directive defining an incremental variabl e named
&TN. Both its initial value and increment are 1. Note that this directive begins with the
assembler comment character (;) and the parameter delimiter character (~ in this
example) required by all KADAK macro directives. The variable name is a string of
printable characters preceded and followed by one or more space and/or tab characters.
Each time the Configuration Generator expands the macro, the current value of the
incremental variable is substituted for the variable name wherever it appears within the
macro body. For example, assume that the fifth task definition in the User Parameter File
is listed as follows:
...TDT taskproc5,TSK5,0,2048,20,0,0,0,0,0,task5id
When the Configuration Generator encounters this task definition, the current value of
the incremental variable &TN will be 5. Therefore the body of the macro will be expanded
as follows:
;DD (2048+3)/4 DUP(?)
@L@K5 LABEL WORD ;Initial stack pointer
; ;for task 5 (tag TSK5)
Note that the value of the incremental variable is not updated by its increment until after
the macro end directive is encountered.
To gain a better insight to this whole process, run the Configuration Manager on a PC
even if you are not doing development on a PC. Use it to create a simple AMX s ystem
with two or three predefined tasks. Use the manager to generate the System
Configuration Module. Then view the User Parameter File and the System Configuration
Module produced by the Configuration Manager. Compare the latter file with the System
Configuration Template to see exactly how the parameter identifiers have been replaced
by parameters from your User Parameter File.