The following is a code snippet from a working application.
.if $$defined(DEBUG) ; Change behavior of divide-by-zero. CP15_ENABLE_DZ_EXCEPTION R0 .endif
I am been pouring through the ARM Assembly Language Tools v4.6 User's Guide and cannot determine why the double $, section 12.4.4 explains the $define directive, does anyone know what the second $ indicates?
Also I need to change this to be if DEBUG or DEVEL is defined but looking through the expression operators in section 3.9.1 it does not appear to support a logical OR operation. Does someone know the correct syntax to accomplish this.
The double dollar sign has no special significance; the name of the built-in operator is '$$defined'. For historical reasons, for ARM the dollar sign is a legal character in an assembly language identifier, and to prevent the built-in operators from being confused with potential user-defined function names, the built-in operators are named with a double dollar sign, which is different than the other TI assemblers.
This should work:
.if $$defined(DEBUG) | $$defined(DEVEL)