Chapter 6. Symbols 37They can also be distinguished from ordinary local labels by their transformed name which usesASCII character \001 (control-A) as the magic character to distinguish them from ordinary labels.Thus the 5th defintion of 6$ is named L6C-A5.6.4. The Special Dot SymbolThe special symbol . refers to the current address that as is assembling into. Thus, the expressionmelvin: .long . defines melvin to contain its own address. Assigning a value to . is treated thesame as a .org directive. Thus, the expression .=.+4 is the same as saying .space 4.6.5. Symbol AttributesEvery symbol has, as well as its name, the attributes "Value" and "Type". Depending on output format,symbols can also have auxiliary attributes.If you use a symbol without defining it, as assumes zero for all these attributes, and probably won’twarn you. This makes the symbol an externally defined symbol, which is generally what you wouldwant.6.5.1. ValueThe value of a symbol is (usually) 32 bits. For a symbol which labels a location in the text, data, bssor absolute sections the value is the number of addresses from the start of that section to the label.Naturally for text, data and bss sections the value of a symbol changes as ld changes section baseaddresses during linking. Absolute symbols’ values do not change during linking: that is why they arecalled absolute.The value of an undefined symbol is treated in a special way. If it is 0 then the symbol is not definedin this assembler source file, and ld tries to determine its value from other files linked into the sameprogram. You make this kind of symbol simply by mentioning a symbol name without defining it. Anon-zero value represents a .comm common declaration. The value is how much common storage toreserve, in bytes (addresses). The symbol refers to the first address of the allocated storage.6.5.2. TypeThe type attribute of a symbol contains relocation (section) information, any flag settings indicatingthat a symbol is external, and (optionally), other information for linkers and debuggers. The exactformat depends on the object-code output format in use.6.5.3. Symbol Attributes: a.out6.5.3.1. DescriptorThis is an arbitrary 16-bit value. You may establish a symbol’s descriptor value by using a .descstatement (Section 8.21 .desc symbol, abs-expression). A descriptor value means nothing to as.