Assembly Language Help (alang.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Labeling Punctuation (:/::)
◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
Syntax: label:
label::
:macrolabel
register::register
See also: Segment Override (:), LOCAL, $, OPTION SCOPED, PUBLIC,
GOTO, LABEL, INVOKE
Description:
Gives name <label> to the memory location of the next instruction
or piece of data. Can be target of loop, branch, jump, load, or
any instruction or directive that requires a memory location.
The register::register syntax is independent of this definition. In
this case, the double-colon is used as a delimiter for a register
pair passed with the INVOKE directive.
With the single colon, <label> has global scope within its
module under the default OPTION NOSCOPED. Under OPTION SCOPED,
<label> is LOCAL inside a PROC block and is global elsewhere.
The <label> cannot be declared public.
The double colon acts the same as the single colon except that
<label> has global scope within its module, independent of OPTION
SCOPED, and can be declared PUBLIC.
The :macrolabel labeling syntax is used exclusively inside MACRO,
FOR, FORC, REPEAT, and WHILE blocks. It can be used only as the
destination of the GOTO directive.
-♦-