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.