TAL Programmer's Guide
4 Introducing the Environment
096254 Tandem Computers Incorporated 4–1
This section introduces you to:
The process environment in which your program runs
Addressing modes you can use in this environment
Allocation of data storage by the compiler
System dependencies
Process Environment Your object programs execute as individual processes on a Tandem system. A
program is a static group of machine instructions and initialized data that reside in a
file. The same program can execute concurrently many times, and each execution
comprises a separate process.
A process is a dynamically running program. Each process has its own user data
space in memory and process information maintained by the operating system. The
instruction codes of a process reside in the code space; they manipulate variable data
that reside in the data space.
The environment for your process includes:
Code space (user and library)
Data space (user and extended)
System code space
System library space
Registers
Code Space The code space of your process consists of:
An optional library code space
A user code space
If your process does not include library space, the user code space can contain 1 to 32
code segments. If your process includes library space, the user code space can contain
1 to 16 user code segments and 1 to 16 library code segments.
During program execution, the operating system automatically allocates memory for
code segments as needed, keeps track of which code segment is current, and performs
segment switching when necessary.
A code segment contains instruction codes and some program constants. During
execution, processes can read, but not modify, the content of a code segment.
A code segment consists of up to 65,536 words, which have consecutive addresses
from C[0] through C[65535]. (C represents the code space.)