A label is a user-defined symbol that identifies a location in
the program. The symbol is assigned a value equal to the location
counter where the label occurs. The following rules apply when
coding source statements with labels:
o If a statement contains a label, the label must be in the
first field on the line.
o The user-defined symbol name can be up to 31 characters long
and can contain any alphanumeric character, as well as the
underscore (_), dollar sign ($), and period (.) characters.
o If a label extends past column 7, Digital recommends you place
it on a line by itself so that the following operator field
can start in column 9 of the next line.
o A label is terminated by a colon (:) or a double colon (::).
In the following source statement, EXP: is the label field:
EXP: .BLKL 50 ; Table stores expected values
There are three types of labels:
o Global labels-Can be referenced by other object modules and
are defined using a double colon (::).
o Local labels-Can be referenced only within the current module
and are defined using a single colon (:).
o Temporary labels-Can be referenced only within the bounds
of either two local labels, two global labels, two psects
(program sections), or within the bounds of a temporary
label scope, as defined by .ENABLE LOCAL_BLOCK and
.DISABLE LOCAL_BLOCK. Temporary labels are defined using one
to five digits followed by a dollar sign and a single colon
($:).
The following example shows how these labels appear in use:
EXP: .BLKL 50 ; EXP is a local label used to
; identify a 50-word block of storage
DATA:: .BLKW 25 ; DATA is a global label used to
; identify a 25-word block of storage
10$: .BLKW 5 ; 10$ is a temporary label used to
; identify a five word block of
; storage.