--predefine "directive" assembler option
Instructs the assembler to pre-execute one of the SETA, SETL, or SETS directives.
You must enclose directive in quotes, for example:
armasm --predefine "VariableName SETA 20" inputfile.s
The assembler also executes a corresponding GBLL, GBLS, or GBLA directive to define the variable before setting its value.
The variable name is case-sensitive. The variables defined using the command line are global to the assembler source files specified on the command line.
Considerations when using --predefine
Be aware of the following:
The command-line interface of your system might require you to enter special character combinations, such as \", to include strings in directive . Alternatively, you can use --via file to include a --predefine argument. The command-line interface does not alter arguments from --via files.
--predefine is not equivalent to the compiler option -Dname . --predefine defines a global variable whereas -Dname defines a macro that the C preprocessor expands.
Although you can use predefined global variables in combination with assembly control directives, for example IF and ELSE to control conditional assembly, they are not intended to provide the same functionality as the C preprocessor in the assembler. If you require this functionality, ARM recommends you use the compiler to pre-process your assembly code.