Guardian Application Conversion Guide

Converting Basic Elements of a Pascal Program
Converting Pascal Applications
6–8 096047 Tandem Computers Incorporated
Converting Guardian
Procedure Calls
Guardian procedures that you might need to convert are procedures that accept or
return:
A PIN parameter for a high-PIN process
A process-ID parameter
D-series procedures use a process handle (which includes the CPU and PIN values)
rather than a process ID to identify a process.
If you convert your program to run at a high PIN, then you must replace MYPID
procedure calls with calls to the PROCESS_GETINFO_ and
PROCESSHANDLE_DECOMPOSE_ procedures. “Converting a Pascal Program to
Run at a High-PIN,” later in this section, describes how to do this.
Appendix A lists the D-series procedures that supersede C-series procedures. For a
description of each procedure, refer to the Guardian Procedure Calls Reference Manual.
For examples of Guardian procedure calls, refer to Section 3, “Converting TAL
Applications.” If you are converting a Pascal program, you must convert the TAL
procedure calls shown in Section 3 to Pascal.
Running the
Pascal Compiler
When you start the Pascal compiler using the TACL RUN command, TACL calls the
PROCESS_CREATE_ procedure to create the Pascal compiler process and the resulting
BINSERV and SYMSERV processes at low PINs.
To run the Pascal compiler process (and the BINSERV and SYMSERV processes) at a
high PIN, you must use the binder program to set the HIGHPIN object-file attribute to
ON in the Pascal compiler object file (provided you have the proper authority to
change this file). TACL then runs the Pascal compiler (and the BINSERV and
SYMSERV processes) at a high PIN if one is available. For more information about
TACL, refer to the TACL Reference Manual.
Binding the Run-Time
Library
When binding your program on C-series systems, you had the option of selecting
either the PASRUN or the PASRUNS run-time support library, depending on the
nature of the object that you were binding.
In the D-series version of Pascal, the PASRUN and PASRUNS libraries have been
merged into one library called PASLIB. PASLIB resides in the system library by
default. If PASLIB does not reside in the system library, you must specify PASLIB
when you bind your programs.
Using the Binder With
Converted Object Files
You cannot bind modules that have been compiled with the D-series compiler with
modules that have been compiled with a C-series compiler. If you compile any
module with the D-series compiler, you must also recompile any other modules that
you bind it with.