Guardian Application Conversion Guide
9 Converting to TNS/R Systems
096047 Tandem Computers Incorporated 9–1
Most TNS programs written for the C30 and D-series versions of the operating system
can run on a TNS/R system without modification. Variances between TNS and
TNS/R systems, however, might require modification in some programs, particularly
in privileged TAL programs. One variance (see “Odd-Byte References,” later in this
subsection) applies to C programs as well.
Before you run a TNS object file on a TNS/R system, you can accelerate it (optimize it
to take advantage of the TNS/R architecture). Most accelerated object files run faster
than nonaccelerated object files. The Accelerator Manual tells how to accelerate object
files.
This section discusses general considerations about and variances between the TNS
and TNS/R systems.
General
Considerations
The following considerations apply to all object files (whether accelerated or not) that
you are running on a TNS/R system:
Extended segment limit checking
Overflow results
Extended Segment
Limit Checking
On both TNS and TNS/R systems, the maximum size of an extended segment is 127.5
megabytes as of the C30.06 release. Extended segments on TNS and TNS/R systems
differ as follows:
System
Number of
Memory Pages
Size of Memory
Page
Address Boundary Checking
by the Processor
TNS 64 2048-byte To a byte boundary
TNS/R 32 4096-byte To a memory page boundary
Eliminate any references to data beyond the extended segment’s logical limit.
Addressing past the end of extended segments fails differently on TNS/R systems
than on TNS systems. You can notice the difference when debugging addressing
errors:
On TNS systems, programs that reference data beyond their extended segment’s
logical limit fail immediately.
On TNS/R systems, programs that reference data beyond their extended
segment’s logical limit might or might not fail. For example, programs that
reference data between the logical end of an extended segment and the next 4-KB
memory-page boundary continue executing without an exception. That is, a
program can reference data located between the end of the segment and the end of
the memory page (unshaded area) without an exception. Addresses are shown
here in hexadecimal.