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.
                                    -♦-