Definition
LabelName:
A LabelName is globally-scoped identifier that is associated with a program address at application run-time. It has an explicit or inherited Type-Declaration, and an optional Language-Attribute. These attributes are described in the following sections.
Type Declaration
The type declaration associated with a label name depends on how the label was defined. See the Code-LabelName and Data-LabelName sections for descriptions on how this attribute is assigned.
Language Attribute
A LabelName can have an assigned Language-Attribute, set either implicitly through the use of a Language-Name keyword in the body of a .MODEL or OPTION directive, or explicitly through the use of an overriding Language-Name keyword in the body of a EXTERN/EXTRN, EXTERNDEF, PROC, or PUBLIC directive. The Language-Attribute determines the exact spelling of the LabelName identifier when it is written to the object file. According to the Language-Attribute, identifier spellings are modified from their appearance in the assembly language source module as follow:
┌──────────────────┬────────────────────────────────────────┐ │LANGUAGE ATTRIBUTE│IDENTIFIER SPELLING │ ├──────────────────┼────────────────────────────────────────┤ │OPTLINK, SYSCALL │No modifications are made to the │ │ │identifier when written to the object │ │ │file. │ ├──────────────────┼────────────────────────────────────────┤ │C, STDCALL │A leading underscore character is │ │ │appended to the front of the name. │ ├──────────────────┼────────────────────────────────────────┤ │BASIC, FORTRAN, │All characters in the identifier are │ │PASCAL │converted to uppercase. │ └──────────────────┴────────────────────────────────────────┘