as: MMIX-Symbols
1
1 9.28.3.2 Symbols
1 ................
1
1 The character ':' is permitted in identifiers. There are two exceptions
1 to it being treated as any other symbol character: if a symbol begins
1 with ':', it means that the symbol is in the global namespace and that
11 the current prefix should not be prepended to that symbol (⇒
MMIX-prefix). The ':' is then not considered part of the symbol. For
1 a symbol in the label position (first on a line), a ':' at the end of a
1 symbol is silently stripped off. A label is permitted, but not
1 required, to be followed by a ':', as with many other assembly formats.
1
1 The character '@' in an expression, is a synonym for '.', the current
1 location.
1
1 In addition to the common forward and backward local symbol formats
1 (⇒Symbol Names), they can be specified with upper-case 'B' and
1 'F', as in '8B' and '9F'. A local label defined for the current
1 position is written with a 'H' appended to the number:
1 3H LDB $0,$1,2
1 This and traditional local-label formats cannot be mixed: a label
1 must be defined and referred to using the same format.
1
1 There's a minor caveat: just as for the ordinary local symbols, the
1 local symbols are translated into ordinary symbols using control
1 characters are to hide the ordinal number of the symbol. Unfortunately,
1 these symbols are not translated back in error messages. Thus you may
1 see confusing error messages when local symbols are used. Control
1 characters '\003' (control-C) and '\004' (control-D) are used for the
1 MMIX-specific local-symbol syntax.
1
1 The symbol 'Main' is handled specially; it is always global.
1
1 By defining the symbols '__.MMIX.start..text' and
1 '__.MMIX.start..data', the address of respectively the '.text' and
1 '.data' segments of the final program can be defined, though when
1 linking more than one object file, the code or data in the object file
1 containing the symbol is not guaranteed to be start at that position;
1 just the final executable. ⇒MMIX-loc.
1