Reference Guide

Chapter 3 43
HP-UX Architecture Conventions
Subspaces
Directives
The .SUBSPA directive is used to declare a subspace and its attributes.
As with spaces, the assembly language programmer can switch from one
subspace to another, and the Assembler will fill each subspace
independently as if the source code had been presented one complete
subspace at a time. When the .SPACE directive is used to switch spaces,
the Assembler remembers the current subspace in each space.
Several additional Assembler directives are provided as shorthand to
declare and switch to some standard spaces and subspaces. For example,
the .CODE directive switches to the $TEXT$ space and the $CODE$
subspace, and the .DATA directive switches to the $PRIVATE$ space and
the $DATA$ subspace.
You can declare as many subspaces as you can use, but the sort key
attribute should be used carefully, because the stack unwind mechanism
reserves a range of sort keys 56 through 255 for the $TEXT$ space. Refer
to “Compiler Conventions” on page 47 in this chapter. Some of the
standard subspaces and sort keys used by the compilers are shown in
Table 3-2 on page 43. Directives that generate commonly used spaces
and subspaces are found in Table 4-3 on page 116.
Table 3-2 Standard Subspaces and Sort Keys
Space Subspace Sort Key Use
$TEXT$ 8
$CODE$ 24 Normal code.
$LIT$ 16 Literals.
$MILLICODE$ 8 Millicode library routines.
$SHLIB_INFO$ 0 Shared library information.
$UNWIND$ 64 Unwind information.
$PRIVATE$ 16
$BSS$ 82 Uninitialized data and common.
$DATA$ 16 Global arrays and structures.
$DLT$ 39 Data linkage table.