--predefine "directive"

This option instructs the assembler to pre-execute one of the SET directives.

The directive is 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.


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 will expand.

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 need this functionality, ARM recommends you use the compiler to pre-process your assembly code.

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0489H