Chapter 6.SymbolsSymbols are a central concept: the programmer uses symbols to name things, the linker uses symbolsto link, and the debugger uses symbols to debug.Warning: as does not place symbols in the object file in the same order they were declared. This may breaksome debuggers.6.1. LabelsA label is written as a symbol immediately followed by a colon :. The symbol then represents thecurrent value of the active location counter, and is, for example, a suitable instruction operand. You arewarned if you use the same symbol to represent two different locations: the first definition overridesany other definitions.On the HPPA, the usual form for a label need not be immediately followed by a colon, but insteadmust start in column zero. Only one label may be defined on a single line. To work around this, theHPPA version of as also provides a special directive .label for defining labels more flexibly.6.2. Giving Symbols Other ValuesA symbol can be given an arbitrary value by writing a symbol, followed by an equals sign =, followedby an expression (Chapter 7 Expressions). This is equivalent to using the .set directive. Section 8.79.set symbol, expression.6.3. Symbol NamesSymbol names begin with a letter or with one of ._. On most machines, you can also use $ in sym-bol names; exceptions are noted in Chapter 9 Machine Dependent Features. That character may befollowed by any string of digits, letters, dollar signs (unless otherwise noted in Chapter 9 MachineDependent Features), and underscores. For the AMD 29K family, ? is also allowed in the body of asymbol name, though not at its beginning.Case of letters is significant: foo is a different symbol name than Foo.Each symbol has exactly one name. Each name in an assembly language program refers to exactlyone symbol. You may use that symbol name any number of times in a program.6.3.1. Local Symbol NamesLocal symbols help compilers and programmers use names temporarily. They create symbols whichare guaranteed to be unique over the entire scope of the input source code and which can be referredto by a simple notation. To define a local symbol, write a label of the form N: (where N representsany positive integer). To refer to the most recent previous definition of that symbol write Nb, using thesame number as when you defined the label. To refer to the next definition of a local label, write Nf--The b stands for"backwards" and the f stands for "forwards".There is no restriction on how you can use these labels, and you can reuse them too. So that it ispossible to repeatedly define the same local label (using the same number N), although you can onlyrefer to the most recently defined local label of that number (for a backwards reference) or the next