Keil™, An ARM® Company

RealView Assembler User's Guide

Symbol naming rules

3.5.1. Symbol naming rules

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 local labels (see Local labels).

  • Symbols must not use the same name as built‑in variable names or predefined symbol names (see Predefined register and coprocessor names and Built‑in variables and constants).

  • If you use the same name as an instruction mnemonic or directive, use double bars to delimit the symbol name. For example:

    ||ASSERT||
    

    The bars are not part of the symbol.

  • You must not use the symbols |$a|, |$t|, |$t.x|, or |$d| as program labels. These are mapping symbols used to mark ARM, Thumb, ThumbEE, and data within the object file.

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:

|.text|

The bars are not part of the symbol. You cannot use bars, semicolons, or newlines within the bars.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0379A