9.22 Labels
------------
Jump labels are used to indicate the starting points of areas of code
used by builtin Assembler commands and by 'goto'/'GOTO'.
There are two types of jump labels: global and local. Global labels, as
their name implies, are visible from any place in a program. Local labels
are visible only within their function block and are not defined outside of
it.
Labels are defined by their identifier followed by a colon. If the
identifier contains at least one lower-case letter, this is a global,
otherwise a local jump label.
Global jump labels cannot be used inside dynamic functions, where only
local labels can be used. Be sure to remember this, since because of the
use of such things as macros, a dynamic function can be present in several
places in the code, which means that the label corresponds to more than one
address.
Labels outside of functions are in practice found in the program data
field. If the data and the code are in the same segment (as is typical of
C-- programs) then labels outside of functions are a simple and efficient
way of obtaining the distances between parts of a program. Names for labels
outside of functions should be unique identifiers containing upper-case or
lower-case letters, or a mixture of the two.