The following general rules apply to symbol names:
Symbol names must be unique within their scope.
You can use uppercase letters, lowercase letters, numeric characters, or the underscore character in symbol names. Symbol names are case-sensitive, and all characters in the symbol name are significant.
Do not use numeric characters for the first character of symbol names, except in numeric local labels.
Symbols must not use the same name as built-in variable names or predefined symbol names.
If you use the same name as an instruction mnemonic or directive, use double bars to delimit the symbol name. For example:
The bars are not part of the symbol.
You must not use the symbols
|$d|as program labels. These are mapping symbols that mark the beginning of A32, T32, and A64 code, and data within the object file. You must not use
|$x|in A64 code.
Symbols beginning with the characters $v are mapping symbols that relate to floating-point code. ARM recommends you avoid using symbols beginning with $v in your source code.
If you have to use a wider range of characters in symbols, for example, when working with compilers, use single bars to delimit the symbol name. For example:
The bars are not part of the symbol. You cannot use bars, semicolons, or newlines within the bars.