Reference Guide

Chapter 4 107
Assembler Directives and Pseudo-Operations
.SPACE Directive
TSPECIFIC Indicates that this space contains thread local storage
data.
UNLOADABLE Specifies that the space resides on disk and is not
loadable into main memory. Debugger data is a typical
example of an unloadable space.
Discussion
The first time the Assembler encounters a .SPACE directive with a new
name, it uses that name to declare a new space. As this is the defining
occurrence of that space, additional keywords can describe attributes for
that space.
If the Assembler encounters subsequent .SPACE directives with that
name, it continues that space. In this case, where the program is
re-entering a previously defined space, the .SPACE directive can only
contain the space name; other keywords to describe the space are illegal.
A space can contain from one to four discrete quadrants (See the QUAD
parameter of the .SUBSPA directive.) When you divide a space into
multiple quadrants, you must define all the subspaces within each
quadrant as a group. If subspaces for a quadrant are defined
individually, program operation is unpredictable. The Assembler,
however, does not check for this condition.
Example
This example shows some of the standard “space” definitions in a typical
assembly language program.
.SPACE $TEXT$, SPNUM=0,SORT=8
.SPACE $PRIVATE$, SPNUM=1,PRIVATE,SORT=16
.SPACE $myspace$, SPNUM=7,UNLOADABLE
.SPACE $THREAD_SPECIFIC$, PRIVATE, TSPECIFIC, SORT=32