Page 1¶
SINTRAN III¶
Real Time Loader¶
ND-60.051.8 EN
ND Norsk Data
Scanned by Jonny Oddene for Sintran Data © 2021
Page 2¶
I'm sorry, I can't convert this document since it's missing from your description. Could you please provide the image again?
Page 3¶
SINTRAN III¶
Real Time Loader¶
ND-60.051.8 EN
Scanned by Jonny Oddene for Sintran Data © 2021
Page 4¶
The information in this manual is subject to change without notice. Norsk Data A.S assumes no responsibility for any errors that may appear in this manual, or for the use or reliability of its software on equipment that is not furnished or supported by Norsk Data A.S.
Version History¶
| Version | Date |
|---|---|
| 1 | May 1974 |
| 2 | November 1974 |
| 3 | February 1976 |
| 4 | June 1976 |
| 5 | August 1977 |
| 6 | November 1980 |
| 7 | August 1981 |
| 8 | October 1984 |
Contact Information¶
Send all documentation requests to:
Norsk Data A.S
Graphic Centre
P.O. Box 25 – Bogerud
N-0621 Oslo 6
NORWAY
Copyright © 1987 by Norsk Data A.S
Page 5¶
PREFACE¶
THE PRODUCT¶
The SINTRAN III REAL TIME LOADER's main function is to load and maintain real time programs. The subsystem is an integrated part of all SINTRAN III virtual storage systems. This manual describes version J of the system.
THE READER¶
This manual is written for users who want a detailed description of the commands available in the SINTRAN III REAL TIME LOADER.
PREREQUISITE KNOWLEDGE¶
The reader should be familiar with SINTRAN III, loaders in general and RT programming.
THE MANUAL¶
This manual describes the commands available in the SINTRAN III REAL TIME LOADER. The commands are ordered alphabetically. Some general information, several examples, and a description of error messages are included.
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 6¶
RELATED MANUALS¶
General information on the real time facilities available under SINTRAN III is found in the manual:
SINTRAN III REAL TIME GUIDE (ND-60.133)
The internal system architecture is described in the:
SINTRAN III REAL TIME LOADER - SYSTEM DOCUMENTATION (ND-60.072)
NOTATION USED IN THIS MANUAL¶
In the examples, user input is underlined. Examples are given in UPPER case letters. However, lower case letters are also accepted. Commands and parameters can be abbreviated the same way as in SINTRAN III. Only octal numbers are legal numeric input as parameters. The term “word” refers to 16-bit words unless otherwise is specified.
Parameters which have default values are enclosed in parentheses, eg. (
Control characters like CTRL L is given by holding down the CTRL-key while pressing the L-key.
CHANGES FROM PREVIOUS VERSION¶
The following 9 commands have been added:
- DEFINE-COMMON-BLOCK-ADDRESS,
- DEFINE-SEGMENT-NAME,
- DELETE-SEGMENT-NAME,
- LIST-SEGMENT-NAMES,
- NEW-BACKGROUND-SEGMENT
- READ-PROG-FILE
- RESET-FORTRAN-100-DEFAULT
- SET-ENTRY-ADDRESS-DISPLACEMENT
- SET-FORTRAN-100-DEFAULT
The manual has been slightly restructured.
ND-60.051.08
Page 7¶
TABLE OF CONTENTS¶
Section: Page:¶
1 SYSTEM OVERVIEW ................................................. 1-1
1.1 The RT Loader's Tables ........................................ 1-2
1.2 How to Start the RT Loader ............................... 1-2
1.3 Command Summary ........................................... 1-3
2 COMMANDS .......................................................... 2-1
3 EXAMPLES ............................................................ 3-1
3.1 Loading and Starting an RT Program ......... 3-1
3.2 Loading Programs and Libraries to Different Segments ........ 3-2
3.3 Loading Programs and Libraries to One Segment ............... 3-3
3.4 Loading Programs with Common Areas .......... 3-4
4 ERROR MESSAGES ................................................... 4-1
Page 8¶
I'm sorry, the image provided doesn't contain any visible text or content to convert into Markdown format. Please provide a clearer image or content you'd like converted.
Page 9¶
SYSTEM OVERVIEW¶
The SINTRAN III REAL TIME LOADER, usually called the RT LOADER, is a part of all SINTRAN III virtual storage systems. The RT LOADER's main function is to load and maintain real time programs.
Compiled programs can be loaded to segments by the RT LOADER. Segments are contiguous areas on disks. The loading will give the program an RT description. SINTRAN III uses the RT description to handle the execution of the program.
RT programs are defined as programs which have their own RT description. Some RT programs are included in SINTRAN III when the system is generated, e.g. the error message program, the file system programs and one program for each terminal. These RT programs are not loaded by the RT LOADER.
Each segment has a segment number. Segment names may also be defined. All segments are kept on contiguous mass storage files. These files are called segment files. There may be from 1 to 4 segment files in SINTRAN III. The segment files are numbered from 0 to 3, and they are called SEGFILE0:DATA, SEGFILE1:DATA, etc. Segment file 1 to 3 may be defined in any directory.
When an RT program is executed, its segments or part of them are copied to main memory. Each segment consists of pages in the same way as files, and the pages of a segment will be scattered around in main memory because of hardware paging. When a segment, or part of a segment has to be removed from main memory, it will be copied back to its original location on the disk.
An RT program uses one or two segments initially. The RT program is initially loaded to a segment called the current load segment. It may also be linked to another segment called the current link segment. For example, the link segment may contain a routine library, or data shared with other RT programs.
The RT program may exchange these segments with others during execution. The RT description contains information on which segments an RT program uses. There may also be any number of RT programs on one segment.
A common area called RTCOMMON is always resident in main memory. It can be used for fast communication between RT programs. The size of RTCOMMON is defined when SINTRAN III is generated. It can be changed by the @SINTRAN-SERVICE-PROGRAM. Some SINTRAN III systems are generated without an RTCOMMON area.
ND-60.051.08
Page 10¶
1.1 THE RT LOADER’S TABLES¶
The RT LOADER uses two important tables, the linking table and the RTFIL table. The linking table contains all symbols available for the current load operation. Available symbols are symbols defined or referred to in the current load operation, symbols defined in the segment currently used as link segment, all RT program names, all RTCOMMON labels, and all symbols defined in resident memory, segment 0.
When a load operation is terminated by an END-LOAD command, all defined symbols in the linking table which do not exist in the RTFIL table are transferred to the RTFIL table. Only RT program names, segment names, RTCOMMON labels and symbols defined in segment 0 (resident memory) will remain in the linking table. These symbols will also be present in the RTFIL table.
The RTFIL table contains all defined symbols, eg. RT program names, segment names, the names of entry points, etc., in all the existing segments (including resident memory) built by the RT LOADER. The RTFIL table is copied to a mass storage file named ⟨SYSTEM⟩RTFIL:DATA during load operation. The load operation changes the contents of the RTFIL table.
SINTRAN III also contains a segment table to describe all segments in the system, and an RT description table to describe all RT programs. The size of both tables is defined when the system is generated. Each entry in the RT description table is identified by an RT description address. The segment table entries are identified either by a segment number or a segment name.
1.2 HOW TO START THE RT LOADER¶
The file access normally restricts the use of the RT LOADER to user RT and user SYSTEM. User RT must be defined as a friend of user SYSTEM to be allowed write access to the segment files and the RTFIL file. Only one user at a time may use the RT LOADER. The RT LOADER is started by entering ⎕RT-LOADER. The message ALREADY IN USE will be output if someone else uses it.
An asterisk (*) will indicate that the RT LOADER is ready to accept further commands. You return to SINTRAN III by giving the command EXIT-LOADER. The HELP command will list all available commands with parameters.
ESCAPE will be disabled when the RT LOADER updates the RTFIL table, the segment table, or the RT description table. The SINTRAN III command ⎕CONTINUE cannot be used to restart the RT LOADER.
ND-60.051.08
Page 11¶
1.3 COMMAND SUMMARY¶
The following commands are available in the RT LOADER. They are described in detail in the next chapter.
- ALLOCATE-AREA ( < segment > ) < area size > ( < lower address > )
- BINARY-DUMP < output file > < segment > ( < lower address > ) ( < upper address > )
- CHANGE-LOCATION ( < segment > )
- CHANGE-RT-DESCRIPTION < rt program > ( < priority > ) ( < segment one > ) ( < segment two > ) ( < start address > ) ( < ring > ) ( < initial page table > ) ( < alternative page table > )
- CLEAR-SEGMENT < segment >
- COMPARE < segment > < binary file > ( < lower address > ) ( < upper address > ) ( < output file > )
- DECLARE-PROGRAM < rt program > ( < rt description address > )
- DEFINE-COMMON-BLOCK-ADDRESS < common label > ( < common block address > ( < segment > ) ( < common block size > ) )
- DEFINE-PROGRAM < rt program > < rt description address >
- DEFINE-SEGMENT-NAME < segment name > < segment >
- DEFINE-SYMBOL < symbol name > < value/symbol > ( < segment > )
- DELETE-COMMON-LABEL < common label >
- DELETE-NON-REENTRANT
- DELETE-PROGRAM < rt program >
- DELETE-RTFIL-SYMBOL < symbol name > < segment >
- DELETE-SEGMENT-NAME < segment name >
- DELETE-SYMBOL < symbol name >
- DUMP-SEGFILE-BITMAP ( < segment file number > ) ( < output file > )
- END-LOAD
- EXIT-LOADER
- FIX-SYMBOLS < segment >
- HELP ( < command > ) ( < output file > )
- IGNORE-MAIN ( < until > )
- IMAGE-LOAD < image file > < output file > ( < bootstrap start address > )
- LIST-AFTER-INCREASING-ADDRESS
- LIST-FREE-RT-DESCRIPTIONS ( < output file > )
- LIST-FREE-SEGMENTS ( < output file > )
- LIST-IN-ALPHABETICAL-ORDER
- LIST-REFERENCE-ADDRESS ( < output file > ) ( < symbol name > )
- LIST-SEGMENT-NAMES ( < output file > )
- LOAD ( < input file > ) ( < load segment > ) ( < link segment > )
- NEW-BACKGROUND-SEGMENT ( < segment > ) ( < ring > ) ( < segment type > ) ( < protection bits > ) ( < WP/NP > )
- NEW-SEGMENT ( < segment > ) ( < ring > ) ( < segment type > ) ( < protection bits > ) ( < WP/NP > )
- REENTRANT-LOAD ( < input file > ) ( < link segment > )
- OCTAL-DUMP ( < segment > ) ( < lower address > ) ( < upper address > ) ( < output file > )
- PARTIAL-CLEAR-RTFIL < symbol/segment > ( < segment > )
- PARTIAL-CLEAR-TABLE < symbol name >
- PRESET-COMMON-ADDRESS ( < segment > ) ( < address > )
ND-60.051.08
Page 12¶
Commands¶
I-O Operations¶
- READ-BINARY (\) (\
) - READ-PROG-FILE
Load Operations¶
- REENTRANT-LOAD (\) (\) (\
)
Symbol Operations¶
- REFER-SYMBOL (\
) - RENAME-SYMBOL \
\ - UNFIX-SYMBOLS (\
) - WHAT-IS (\
)
Segment Operations¶
- RELEASE-SEGMENT (\
) - REORGANIZE-SEGMENT-FILE (\
) - RESET-PROTECT-FLAG (\
) - SET-DATA-SEGMENT (\
) - SET-PROTECT-FLAG (\
)
Reset Operations¶
- RESET-C5
- RESET-FORTRAN-100-DEFAULT
- RESET-LOADER
- RESET-NEW-PAGE
Search Operations¶
- SEARCH-FOR-RTFIL-SYMBOL (\
) (\ )
Set Operations¶
- SET-C5
- SET-DATA-LOAD-ADDRESS (\
) - SET-ENTRY-ADDRESS-DISPLACEMENT (\
) - SET-FORTRAN-100-DEFAULT
- SET-IO-BUFFERS (\
) - SET-LOAD-ADDRESS (\
) (\ ) - SET-NEW-PAGE
- SET-PAGE-TABLE (\
) - SET-RTCOMMON (\
) - SET-SEGMENT-COMMON (\
) - SET-SEGMENT-FILE (\
)
Write Operations¶
- WRITE-COMMON-LABELS (\
- WRITE-LOAD-ADDRESS (\
) - WRITE-NON-REENTRANT (\
- WRITE-PROGRAMS (\
- WRITE-REFERENCES (\
- WRITE-RTFIL (\
) (\ - WRITE-SEGMENTS (\
) (\ - WRITE-SYMBOLS (\
- WRITE-TABLE (\
Loader Operations¶
- TABLE-DUMP (\
- TERMINATE-LOAD-AND-LIST (\
Miscellaneous¶
- X-LOAD (\) (\
) (\) - YES (\
)
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 13¶
COMMANDS¶
All RT LOADER commands may be abbreviated in the same way as in SINTRAN III. Missing parameters will be asked for. Parameter delimiters are space, comma or carriage return. CTRL L given in a command or parameter line, will cancel the command. Parameter types used by the RT LOADER are:
- Segments, both segment numbers and segment names can be entered
- Octal numbers, the six last digits will count
- File names (possibly in remote computer systems)
- Symbol names, up to seven alphanumeric characters
- Selection parameters
Decimal numbers cannot be used as parameter values, and all numbers written by the RT LOADER are octal numbers. Segment names, RT program name and symbol names cannot be abbreviated.
All questions that the RT LOADER may ask must be answered with YES or NO. Other alphabetical characters will result in the question being repeated. All non-alphabetical characters will give an error message.
A parameter enclosed in parentheses has a default value, whereas parameters not enclosed in parentheses do not.
Example:
DEFINE-SYMBOL
The parameters <symbol name> and <value/symbol> have no default values, but the parameter <segment> has a default value. The parameter <segment> may either be a segment number or a defined segment name. In the examples given in this manual, user input is underlined to distinguish it clearly from the computer output.
Page 14¶
ALLOCATE-AREA¶
*ALLOCATE-AREA (
This command will allocate an area on the given <segment>. The segment can be specified either by its number or by a name given to it through the command DEFINE-SEGMENT-NAME. The parameter <area size> is the size of the area in number of words, and the parameter <lower address> is the first address of the area to be allocated.
The default values of the parameter <segment> is the last segment used as load segment or the first segment specified in the NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command in a load operation. The default value of the parameter <lower address> is the current load address of the given <segment>. The current load address of the <segment> will be set equal to the first address after the allocated area.
The <segment> must be one of the segments currently being built, i.e., the segment must be specified in a NEW-SEGMENT, NREENTRANT-LOAD, or REENTRANT-LOAD command. The ALLOCATE-AREA command is mainly implemented to allow one to define segments without loading anything into them.
EXAMPLE OF DEFINING A NEW SEGMENT WITHOUT LOADING ANYTHING INTO IT:¶
ØRT-LOADER
REAL TIME LOADER, SINTRAN III - I
*NEW-SEGMENT....
NEW SEGMENT NO: 243
*ALLOCATE-AREA
SEGMENT: 243
AREA SIZE: 2000
LOWER ADDRESS:
*END-LOAD
*WRITE-SEGMENT
SEGMENT: 243
OUTPUT FILE:
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING PIT | SEG. PROT | SEG. TYPE |
|----------|-----------|-------------|-------------|------------|-----------|----------|-----------|-----------|
| 243 | | 0 | 1777 | 17020 | 0 | Ø | 1 RFM | NON DEMAND|
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 15¶
Segment Definition Example¶
In this example, the segment number 32 has been defined. The segment’s address area is from 0 to 1777₈. The segment is placed on segment file 0, on page index table 1 and on protect ring 0. The segment is on demand, and it is read, fetch and write permitted. The size of a segment is always a modulo of 1K words, so the segment number 32 will be of 1K words in size although its address area is only defined as 0 - 778₈ in the ALLOCATE-AREA command.
ND-60.051.08
Page 16¶
BINARY-DUMP¶
*BINARY-DUMP
This command will dump the <segment> in binary format on the <output file>. The parameter <segment> must refer to a closed segment, i.e., a segment on the segment file, or it can have the value zero meaning RTCOMMON. The <output file> is :BPUN. A new file can be created by enclosing the file name in quotes ("...").
The parameters <lower address> and <upper address> are the lower and upper addresses of the area to be dumped. The default value for <lower address> is the last address of the segment.
There will be no bootstrap in front of the binary dump. The output from the BINARY-DUMP command may be read by the various MAC assemblers or by the RT LOADER commands READ-BINARY and COMPARE.
EXAMPLE OF DUMPING A SEGMENT ON A FILE:¶
*NREENTRANT-LOAD
INPUT FILE: TESTPROG:BRF
LINKING-SEGMENT:
NEW SEGMENT NO: 243
*END-LOAD
*WRITE-SEGMENT$
SEGMENT: 243
OUTPUT FILE:
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING | PIT | SEG. PROT | SEG. TYPE |
|----------|-----------|-------------|-------------|------------|-----------|------|-----|----------|-----------|
| 243 | 0 | 35777 | 17020 | 0 | 0 | 1 | RFW | NON DEMAND |
*BINARY-DUMP
OUTPUT FILE: "BACKUPSEG-243:BPUN"
SEGMENT: 243
LOWER ADDRESS:
UPPER ADDRESS:
*
Page 17¶
CHANGE-LOCATION¶
*CHANGE-LOCATION ( < segment > )
The CHANGE-LOCATION command is used to look at or to change locations on the given < segment >. The < segment > must be one of the segments currently being built. The default value of the parameter < segment > is the last segment used as load segment or the first segment specified in the current load operation.
The syntax is an address followed by a slash (/). The contents of the location addressed will be output. If a new value is wanted in the location, the new value followed by a carriage return is typed. The contents of the next location is then output. If no change is wanted, just type carriage return, and the contents of the next location will be output. This command must be terminated with the dot character (.).
The syntax of the CHANGE-LOCATION command is the same as the LOOK-AT command in SINTRAN III except that signed numbers are not legal.
EXAMPLE OF CHANGING AND LISTING THE NEW CONTENTS OF LOCATION 10, 11 AND 12:¶
*NEW-SEGMENT. 243.....
*LOAD
INPUT FILE: TESTPROG.BRF
LOAD-SEGMENT: 243
LINKING-SEGMENT:
*WRITE-LOAD-ADDRESS 243
L.ADR: 0 U.ADR: 276 C.LADR: 277
*CHANGE-LOCATION
SEGMENT: 243
213/ 0 1
0 277
135007 .
*END-LOAD
ND-60.051.08
Page 18¶
CHANGE-RT-DESCRIPTION¶
CHANGE-RT-DESCRIPTION <rt program> (<priority>)
(<segment one>) (<segment two>) (<start address>) (<ring>)
(<initial page table>) (<alternative page table>)
This command changes an already existing RT description. Thus, the parameter <rt program> must be the name of a defined or declared RT program. The parameter <priority> is the new priority of the RT program, <segment one> is the first segment and <segment two> is the second segment of the RT program.
The parameter <start address> is the start address of the RT program. The <ring> is the ring protection. The two last parameters define the page tables to be used by the RT program. The four page tables are numbered from 0 to 3. The default values of the parameters are their old values.
If the parameter <RT program> is a declared program, it will be defined by this command. The RT program name will be copied to the RTFIL table.
EXAMPLE:¶
*WRITE-PROGRAMS
...
XTRACE 45532 35 33
XRGOUT 45513 34 33
TIME 45570 243 0
*CHANGE-RT-DESCRIPTION
RT-PROGRAM: TIME
PRIORITY: 100
SEGMENT ONE: 243
SEGMENT TWO:
START ADDRESS: 200
RING: 2
INITIAL PAGE INDEX TABLE: 2
ALTERNATIVE PAGE INDEX TABLE:
Page 19¶
CLEAR-SEGMENT¶
CLEAR-SEGMENT
The given <segment> will be cleared, i.e., the space on the segment file occupied by the given <segment> will be released. The segment number will then be free to use again.
If the specified segment is fixed in memory by the FIX or FIXC monitor calls or commands, or if the segment is in use by an active RT program, an error message will be printed and the segment will not be cleared. (The same applies to segments with reentrant subsystems and segments with the PROTECT flag set. See the command SET-PROTECT-FLAG.)
If there are any RT programs defined on this segment, the names of the RT programs will be listed, and the question DELETING THIS RT-PROGRAM(S)? will be printed. If the answer is YES, then all RT programs defined on the segment will be deleted before the segment is cleared.
If the specified segment has a segment number lower than the first user-defined segment, the question CLEARING SYSTEM-INCLUDED SEGMENT? will be printed. This question must be answered with YES before the segment will be cleared.
When the parameter <segment> is given the value zero, which is equivalent to RTCOMMON, the question CLEARING RTCOMMON? is printed. If the answer is YES, the RTCOMMON pointers will be reset to their initial values, and all RTCOMMON labels will be deleted from the linking table and from the RTFIL table.
When clearing a segment, all symbols defined on this segment will be deleted from RTFIL and from the linking table. A related command is RELEASE-SEGMENT.
EXAMPLE:¶
| *CLEAR-SEGMENT |
| SEGMENT : 255 |
| *CLEAR-SEGMENT |
| SEGMENT : 243 |
| RT-PROGRAMS ON SEGMENT : |
| TIME |
| XFTRA |
| DELETING THIS RT-PROGRAM(S)? YES |
ND-60.051.08
Page 20¶
COMPARE¶
*COMPARE <segment> <binary file> (<lower address>) (<upper address>) | (<output file>)
The contents of the given <segment> will be compared with the contents of the given <binary file>. The <segment> must be a closed segment and the contents of the <binary file> must be in binary format, i.e., produced by a )BPUN or a BINARY-DUMP command.
The parameters <lower address> and <upper address> set the limits of the area to be compared. If there are any differences between the contents of the <binary file> and the <segment>, the addresses where the differences are, and the contents of those addresses for the segment and the file, will be printed on the <output file>. The default file type of the <binary file> is :BPUN.
The default values for the parameters <lower address> and <upper address> are the first and the last address of the specified segment. The default value of the parameter <output file> is your terminal. This command is useful for debugging RT programs.
After loading, the segments may be dumped with the BINARY-DUMP command. If anything goes wrong during execution of the RT programs using these segments, the COMPARE command may be used to see if anything in the original segments has been destroyed.
EXAMPLE OF CHANGING TWO LOCATIONS AND COMPARING:¶
*NEW-SEGMENT
NEW SEGMENT NO: 243
*READ-BINARY TESTPROG:BPUN,243
*CHANGE-LOCATION 243
101 14:
232 11
42 ^
*
*END-LOAD
*COMPARE
SEGMENT: 243
BINARY FILE: TESTPROG:BPUN
LOWER ADDRESS:
UPPER ADDRESS:
OUTPUT FILE:
| ADR | SEGMENT | FILE |
|-----|---------|------|
| 13 | 4 | 14 |
| 14 | 11 | 232 |
ND-60.051.08
Page 21¶
DECLARE-PROGRAM¶
*DECLARE-PROGRAM
The symbol <rt program> is the name of an RT program to be loaded at a later time. An entry in the RT description table will be allocated. This command must be used when loading RT programs which have not yet defined or declared RT programs as "externals". All such external RT programs must be declared using the DECLARE-PROGRAM command before the loading process can be completed.
If the parameter <rt description address> is not specified, the first free RT description is allocated for this RT program, otherwise, the specified RT description is allocated if it is free. The RT program name will be entered in the linking table and copied to the RTFIL table in the END-LOAD command.
EXAMPLE:¶
*LIST-FREE-RT-DESCRIPTIONS
45570 45607 45626 45645 45664 45703 45722 45741
45760 45777 46016 46035 46054 46073 46112 46131
46150 46187 46206
*DECLARE-PROGRAM
RT-PROGRAM: RTTEST
RT-DESCRIPTION ADDRESS:
*WRITE-PROGRAMS
RTTEST 45570 ??????
DUMMY 43517 0 0
SYSIN 43536 3 5
*LIST-FREE-RT-DESCRIPTIONS
45607 45626 45645 45664 45703 45722 45741 45760
45777 46016 46035 46054 46073 46112 46131 46150
46187 46206
ND-60.051.08
Page 22¶
DEFINE-COMMON-BLOCK-ADDRESS¶
*DEFINE-COMMON-BLOCK-ADDRESS <common label> <common block address> ( <segment> ) [ <common block size> ]
This command is used to define a common block with name <common label> on the specified segment. The default <segment> is segment number 0, i.e., RTCOMMON. The common block will be allocated from the <common block address>, and it will occupy <common block size> number of words.
The default <common block size> is 177777 (-1)[_8], which indicates that the common block size can be expanded to fit a later definition of the common block. Other values of <common block size> means that this will be the exact size of the common block, and expansion is illegal.
The common block can be referred by all RT programs loaded afterwards. All global common block labels can be listed by the command WRITE-COMMON-LABELS. The command DELETE-COMMON-LABEL must be used to delete the common label.
EXAMPLE OF DEFINING A COMMON BLOCK ADDRESS IN A LOAD OPERATION:¶
*WRITE-COMMON-LABELS
TEST 100 255 4
COMLAB 44 243 200
*DEFINE-COMMON-BLOCK-ADDRESS
COMMON LABEL: LABXX
COMMON BLOCK ADDRESS: 4440
SEGMENT: 243
COMMON BLOCK SIZE:
*END-LOAD
*WRITE-COMMON-LABELS
TEST 100 255 4
COMLAB 44 243 200
LABXX 4440 243 530
ND-60.051.08
Page 23¶
DEFINE-PROGRAM¶
DEFINE PROGRAM <rt program> <rt description address>
The command may be used to give a name to RT programs which are not loaded by the RT LOADER, i.e., system included rt programs or “patched in” RT programs. The parameter <rt program> is the name of the RT program, and the <rt description address> is the address of the program’s description.
If the RT program already has a name, this command should not be used.
EXAMPLE:¶
*DEFINE-PROGRAM
RT PROGRAM; TERMX
RT DESCRIPTION ADDRESS; 46016
*WRITE-PROGRAMS.
TERMX 46016 3 13
*
ND-60.051.08
Page 24¶
DEFINE-SEGMENT-NAME¶
*DEFINE-SEGMENT-NAME <segment name> <segment number>
A <segment name> will be connected to the specified <segment number>. The segment name can later be specified instead of the segment number in other commands which have <segment> as parameter. The segment can be either free or used.
A segment name may consist of up to 7 alphanumeric characters. Segment names cannot be abbreviated. Related commands are DELETE-SEGMENT-NAME and LIST-SEGMENT-NAMES.
EXAMPLE:¶
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING | PIT | SEG. PROT | SEG. TYPE |
|---|---|---|---|---|---|---|---|---|---|
| 243 | NEWSEG | 0 | 35777 | 17028 | 0 | 0 | 1 | RFW | NON DEMAND |
*DEFINE-SEGMENT-NAME
SEGMENT NAME: NEWSEG
SEGMENT: 243
*WRITE-SEGMENT
SEGMENT: 243
OUTPUT FILE:
*CLEAR-SEGMENT
SEGMENT: NEWSEG
*
ND-60.051.08
Page 25¶
DEFINE-SYMBOL¶
*DEFINE-SYMBOL
This command defines the <symbol name> on the given <segment> and gives it the value <value/symbol>. If the <symbol name> is defined equal to another symbol, then this symbol must be a defined symbol existing in the linking table.
The parameter <segment> must be an existing segment or one of the segments currently being built. The default value of the parameter <segment> is the current load segment, i.e., the segment last loaded to in the current load operation.
EXAMPLE¶
*NEW-SEGMENT....
NEW SEGMENT NO: 243
*DEFINE-SYMBOL
SYMBOL NAME: SYMB11
VALUE/SYMBOL: 44
SEGMENT: 243
*DEFINE-SYMBOL SYMB12,33,243
*DEFINE-SYMBOL SYMBX,SYMB11,243
*WRITE-SYMBOLS
SYMBX 44 243
SYMB12 33 243
SYMB11 44 243
ND–60.051.08
Page 26¶
DELETE-COMMON-LABEL¶
DELETE-COMMON-LABEL
The given <common label> will be deleted from the linking table and the RTFIL table. The common area or the current load address will not be changed.
EXAMPLE:¶
| WRITE-COMMON-LABELS.. | |||
| ST | 4 | 255 | F |
| TST | 100 | 255 | 40 |
| COMLAB | 44 | 243 | 200 |
| DELETE-COMMON-LABEL | |||
| COMMON LABEL: ST | |||
| DELETE-COMMON-LABEL TST | |||
| WRITE-COMMON-LABELS... | |||
| COMLAB | 44 | 243 | 200 |
Page 27¶
DELETE-NON-REENTRANT¶
*DELETE-NON-REENTRANT
The names of the non reentrant routines in the FTN and FORTRAN libraries will be deleted from the linking table. This command is useful when building a reentrant system with more than one RT program on the same segment. After each RT program is loaded, you can define the end of the stack, delete the names of the non reentrant routines, set the new load address equal to the end of stack plus one, load the next RT program, etc.
EXAMPLE:¶
*NEW-SEGMENT,243
*LOAD TESTPROG;BRE,243
*LOAD FORTRAN=1BANK,243
*WRITE-NON-REENTRANT
| 5INIT | 34012 |
| 5ENTR | 34207 |
| 5ERET | 34236 |
| 5LEAV | 34243 |
| 5NERR | 21657 |
| 5ERR | 21646 |
| 5FIO_BL | 31033 |
| 5ESTACK | 27344 |
| 5STACK | 30407 |
| 5MAINGR | 26424 |
| 5EXCEPT | 21574 |
| 5EXCINF | 26501 |
| 5STACE | 26516 |
| 5STACO | 27111 |
*DELETE-NON-REENTRANT
*WRITE-NON-REENTRANT
ND-60.051.08
Page 28¶
DELETE-PROGRAM¶
DELETE-PROGRAM
The RT program named
If the
EXAMPLE:¶
*WRITE-PROGRAMS-
TIME 43570 243 0
RTERR 43555 14 5
ISWAP 43574 0 0
ACCRT 43613 32 0
*DELETE-PROGRAM
RT-PROGRAM: TIME
*WRITE-PROGRAMS-
RTERR 43555 14 5
ISWAP 43574 0 0
ACCRT 43613 32 0
*
ND-60.051.08
Page 29¶
DELETE-RTFIL-SYMBOL¶
*DELETE-RTFIL-SYMBOL <symbol name> <segment>
The <symbol name> defined on the given <segment> will be deleted from the RTFIL table. The <symbol name> must not be a common label, an RT program name, or a segment name. Only entry points are legal.
EXAMPLE:¶
*WRITE-RTFIL
SEGMENT: 247
OUTPUT FILE:
RTSYM1 44 247
TIME 45607 247 0
*DELETE-RTFIL-SYMBOL
SYMBOL NAME: RTSYM1
SEGMENT: 247
*WRITE-RTFIL 247
TIME 45607 247 0
*
Page 30¶
DELETE-SEGMENT-NAME¶
DELETE-SEGMENT-NAME <segment name>
The <segment name> connected to a segment number will be deleted. The segment itself will not be affected. Related commands are DEFINE-SEGMENT-NAME and LIST-SEGMENT-NAMES.
EXAMPLE:¶
| Command | Segment Name | Segment Number |
|---|---|---|
| DEFINE-SEGMENT-NAME SEGABC, 242 | ||
| LIST-SEGMENT-NAMES | ||
| SEGABC | 242 | |
| EX1 | 272 | |
| SEGST3 | 255 | |
| NEWSEG | 243 |
| Command |
|---|
| DELETE-SEGMENT-NAME SEGMENT NAME: SEGABC |
| LIST-SEGMENT-NAMES |
| EX1 |
| SEGST3 |
| NEWSEG |
*
Page 31¶
DELETE-SYMBOL¶
DELETE-SYMBOL <symbol name>
The given <symbol name> will be deleted from the linking table. Both defined and undefined symbols may be deleted. The <symbol name> cannot be a common label or an RT program name, or a segment name.
EXAMPLE:¶
*WRITE-SYMBOL
INCH 26444 243
RESRV 26471 243
SEXCEPT 21574 243
S1NIT 34012 243
*DELETE-SYMBOL
SYMBOL NAME: S1NIT
*WRITE-SYMBOL
INCH 26444 243
RESRV 26471 243
SEXCEPT 21574 243
*
ND-60.051.08
Page 32¶
DUMP-SEGFILE-BITMAP¶
DUMP-SEGFILE-BILMAP
The bit map of the segment file <segment file no.> will be dumped on the specified <output file>. There will be one bit for each page of the segment file. The output will show each 16 bit word in octal format.
A bit with value one means that the corresponding page on the segment file is used, and a bit with value zero means that the corresponding page on the segment file is free. The default value for the parameter <segment file no.> is all four segment files, and the default value for <output file> is the terminal.
EXAMPLE:¶
*DUMP-SEGFILE-BITMAP
SEGMENT FILE NO.:
OUTPUT FILE:
SEGMENT FILE NO.: 0
0 177777 177777 177777 177777 177777 177777 177777 177777
200 177777 177777 177777 177777 177777 177777 177777 177777
400 177777 177777 177777 177777 177777 177777 177777 177777
600 177777 177777 177777 177777 177777 177777 177777 177777
1000 177777 177777 177777 177777 177777 177777 177777 177777
1200 177777 177777 177777 177777 177777 177777 171000 000000
1400 000000 000000 000000 037777
NUMBER OF PAGES IN SEGMENT FILE: 1461
FREE PAGES ON SEGMENT FILE: 133
NUMBER OF CONTINUOUS FREE PAGES: 133
SEGMENT FILE NO. 1 NOT DEFINED
SEGMENT FILE NO. 2 NOT DEFINED
SEGMENT FILE NO. 3 NOT DEFINED
*
The octal number 177777 is identical to the binary number 1111111111111111, i.e., all pages are used. The last number, in this example 037777, will not be 0 unless the size of the segment file is a multiple of 16.
ND-60.051.08
Page 33¶
END-LOAD¶
END-LOAD
This command, or the command *TERMINATE-LOAD-AND-LIST, must terminate all load operations. This command will close the segments currently being built. The segment will be moved from the scratch file to the segment file. The segment table, the RTFIL table, and the RT description table will be updated.
The linking table will be written to the RTFIL table. If there are undefined symbols in the linking table, the question NEGLECTING REFERENCES? will be output. If the answer is YES, then the END-LOAD command will continue, otherwise, the command is terminated and the load operation may continue.
If the command NREENTRANT-LOAD was the last load command, then the file FTNLIBR will automatically be scanned if there are undefined symbols in the linking table. If no area is occupied on a segment, either by loading to the segment or by the command ALLOCATE-AREA, a warning message is listed. The segment will be returned to the pool of undefined segments.
A related command is TERMINATE-LOAD-AND-LIST.
EXAMPLE¶
*NREENTRANT-LOAD TESTPROG.;BRE...
NEW SEGMENT NO: 245
*END-LOAD
*
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 34¶
EXIT-LOADER¶
*EXIT-LOADER
This command will update the file RTFIL, then leave the RT LOADER, and give control to SINTRAN III.
EXAMPLE:¶
@RT-LOADER
REAL TIME LOADER, SINTRAN III - I
*NEW-SEGMENT 243
*LOAD TESTPROG:BRF
*LOAD FORTRAN-1:BANK
*END-LOAD
*EXIT-LOADER
Page 35¶
FIX-SYMBOLS¶
FIX-SYMBOLS
All symbols defined on the given
EXAMPLE:¶
*NEW-SEGMENT 243.
*LOAD TESTPROG 243.
*WRITE-SYMBOLS.
*FIX-SYMBOLS
SEGMENT: 243
*WRITE-SYMBOLS.
| Symbol | Code | Segment |
|--------|------|---------|
| ABORT | 25642 | 244 |
| INCH | 25644 | 244 |
| RESRV | 26471 | 244 |
| 5EXCEPT| 21571 | 244 |
| 5INIT | 34012 | 244 |
*
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 36¶
HELP¶
*HELP (<command>) (<output file>)
This command will list all the RT LOADER commands matching the given parameter <command>. If no <command> is specified, all the RT LOADER commands will be listed. The output is in alphabetical order.
The parameter of the commands will also be listed. The terminal is the default value of the parameter <output file>.
EXAMPLE:¶
ØRT-LOADER
REAL TIME LOADER, SINTRAN III - I
*HELP
COMMAND: :COMMON
OUTPUT FILE:
DEFINE-COMMON-BLOCK-ADDRESS <COMMON BLOCK> <ADDR> (<SEGMENT>)
(<COMMON BLOCK SIZE>)
DELETE-COMMON-LABEL <COMMON LABEL>
PRESET-COMMON-ADDRESS (<SEGMENT>) (<ADDRESS>)
WRITE-COMMON-LABELS (<OUTPUT FILE>)
*HELP
COMMAND: --COM
OUTPUT FILE:
SET-SEGMENT-COMMON <COMMON LABEL>
*
ND-60.051.08
Page 37¶
IGNORE-MAIN¶
*IGNORE-MAIN (
The main entry of one or more programs is substituted by an entry definition. MAIN and ENTRY are control bytes in BRF code. Thus a main program will not be defined as an RT program. No RT description will be allocated.
The parameter <until> defines how far this command should apply. If END-COMMAND is given, the command will apply to the next END-LOAD command. If END-OF-FILE is given, the command will apply to the end of the next load command (LOAD, REENTRANT-LOAD, etc.).
EXAMPLE:¶
*IGNORE-MAIN
UNTIL: END-OF-FILE
*LOAD TESTPROG
*LOAD FTN.LIB
*END-LOAD
*
Page 38¶
IMAGE-LOAD¶
IMAGE-LOAD <image file> <output file> <rt-description-size> (<bootstrap start address>)
This command will set the RT LOADER in "image load" mode, i.e., loading will be to a file instead of to a segment. The command is intended to be used only for SINTRAN III RTP. The parameter <image file> is the name of a file containing a SINTRAN III RTP system in binary format. The default file type is :BPUN. The <output file> is the name of the file where the completed SINTRAN III RTP system will be dumped by the END-LOAD command. The default file type is :BPUN.
The parameter <bootstrap start address> is the address of the bootstrap, i.e., the address where the bootstrap will be placed in memory when the SINTRAN III RTP system is loaded and started. The default value of the <bootstrap start address> is the value of the load address when the load operation is terminated.
The parameter <rt-description-size> has 2 legal values. They are 24 for all SINTRAN III RT systems up to and including the 80 A version, and 32 for the new SINTRAN III RTP Version E. The default value is 32.
RT programs may be loaded in the SINTRAN III RT system using the ordinary "load commands" (LOAD, REENTRANT-LOAD, etc.). The "image load" mode is reset by the END-LOAD and the RESET-LOADER commands.
EXAMPLE:¶
| Command | Description |
|---|---|
| *IMAGE-LOAD | |
| IMAGE FILE: | TESTPROG;BPUN |
| OUTPUT FILE: | JAPE-PUNCH |
| RT-DESCRIPTION-SIZE: | |
| BOOTSTRAP START ADDRESS: | |
| *SET-LOAD-ADDRESS 26000 | |
| *REENTRANT-LOAD TEST2;REF | |
| *END-LOAD |
ND-60.051.08
Page 39¶
LIST-AFTER-INCREASING-ADDRESSES¶
*LIST-AFTER-INCREASING-ADDRESSES
After this command is given the symbols listed in the commands:
- WRITE-COMMON-LABELS
- WRITE-NON-REENTRANT
- WRITE-PROGRAMS
- WRITE-REFERENCES
- WRITE-RTFIL
- WRITE-SYMBOLS
- WRITE-TABLE
will be in the order of increasing addresses, ie., the symbol with the lowest address (value) will be printed first and the symbol with the highest address (value) will be listed last.
This command will only be reset by leaving the RT Loader or by the RT Loader command LIST-IN-ALPHABETICAL-ORDER.
EXAMPLE:¶
| Command | |
|---|---|
| WRITE-COMMON-LABELS | |
| COMLAB | 44 243 177717 |
| LABXX | 4400 243 177717 |
| TST | 100 255 177717 |
| LIST-AFTER-INCREASING-ADDRESSES | |
|---|---|
| WRITE-COMMON-LABELS | |
| COMLAB | 44 243 177717 |
| TST | 100 255 177717 |
| LABXX | 4400 243 177717 |
ND-60.051.08
Page 40¶
LIST-FREE-RT-DESCRIPTIONS¶
*LIST-FREE-RT-DESCRIPTIONS
List the addresses of all free entries in the RT description table. Default value of (
EXAMPLE:¶
*LIST-FREE-RT-DESCRIPTIONS
OUTPUT FILE:
| 45570 | 45607 | 45826 | 45645 | 45664 | 45703 | 45722 | 45741 | 45760 | ||
| 45777 | 46016 | 46035 | 46054 | 46073 | 46112 | 46131 | ||||
| 46150 | 46167 | 46206 |
DECLARE-PROGRAM RITEST,45570
WRITE-PROGRAMS,
RITEST | 45570 | ?????????
DUMMY | 43517 | 0 | 0
STISN | 45336 | 3 | 5
*LIST-FREE-RT-DESCRIPTIONS,
| | | | | | | | | | | |
|----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
| 45607 | 45826 | 45845 | 45664 | 45703 | 45722 | 45741 | 45760 |
| 45777 | 46016 | 46035 | 46054 | 46073 | 46112 | 46131 | 46150 |
| 46167 | 46206 |
ND-60.051.08
Page 41¶
LIST-FREE-SEGMENTS¶
*LIST-FREE-SEGMENTS (
The unused segment numbers will be listed on the specified <output file>. Default value of <output file> is the terminal.
EXAMPLE:¶
ØRT-LOADER
REAL TIME LOADER, SINTRAN III - I
*LIST-FREE-SEGMENTS
OUTPUT FILE:
| 243 | 246 | 247 | 250 | 251 | 252 | 253 |
| 254 | 255 | 256 | 257 | 260 | 261 | 262 |
| 263 | 264 | 265 | 266 | 267 | 270 | 271 |
| 273 | 274 | 275 | 276 | 277 | 300 | 301 |
| 302 | 306 | 307 | 310 | 311 | 312 | 313 |
| 314 | 315 | 316 | 317 | 320 | 323 | 326 |
| 327 | 330 | 331 | 332 | 333 | 334 | 335 |
| 336 | 337 | 340 | 341 | 342 | 343 | 344 |
| 345 | 346 | 347 | 350 | 351 | 352 | 353 |
| 354 | 355 | 356 | 357 | 360 | 361 | 362 |
| 363 | 364 | 365 | 366 | 367 | 370 | 371 |
*EXIT-LOADER
Page 42¶
LIST-IN-ALPHABETICAL-ORDER¶
*LIST-IN-ALPHABETICAL-ORDER
After this command, the symbols listed in the commands:
- LIST-REFERENCES-ADDRESS
- LIST-SEGMENT-NAMES
- WRITE-COMMON-LABELS
- WRITE-NON-REENTRANT
- WRITE-PROGRAMS
- WRITE-REFERENCES
- WRITE-RTFIL
- WRITE-SYMBOLS
- WRITE-TABLE
will be in alphabetical order. This command will only be reset by leaving the RT LOADER or by the command LIST-AFTER-INCREASING-ADDRESS.
EXAMPLE:¶
| Command | TST | 100 | 255 | 177777 |
|---|---|---|---|---|
| WRITE-COMMON-LABELS | ||||
| COMLAB | 44 | 243 | 177777 | |
| LABXX | +440 | 243 | 177777 | |
| LIST-IN-ALPHABETIC-ORDER | ||||
| WRITE-COMMON-LABELS | ||||
| COMLAB | 44 | 243 | 177777 | |
| LABXX | +440 | 243 | 177777 | |
| TST | 100 | 255 | 177777 |
ND-60.051.08
Page 43¶
LIST-REFERENCES-ADDRESS¶
*LIST-REFERENCES-ADDRESS (
This command will list all addresses where the undefined symbol named <symbol name> is referred to. If no parameter <symbol name> is specified, all undefined symbol references will be listed. The default value of the parameter <output file> is the terminal.
EXAMPLE¶
*NEW-SEGMENT 243
*LOAD TESTPROG;BRE
*WRITE-REFERENCES
RELES
ABORT
INCH
RESRV
*LIST-REFERENCES-ADDRESS
OUTPUT FILE:
SYMBOL NAME:
| Symbol Name | Address |
|---|---|
| RELES | 127 |
| ABORT | 125 |
| INCH | 123 |
| RESRV | 121 |
ND-60.051.08
Page 44¶
LIST-SEGMENT-NAMES¶
*LIST-SEGMENT-NAMES (
The defined segment names will be listed together with the corresponding segment numbers. The default (
EXAMPLE:¶
*DEFINE-SEGMENT-NAME SEGABC,242
*LIST-SEGMENT-NAMES
OUTPUT FILE:
SEGABC 242
EX1 272
SEGST3 255
NEWSEG 243
*DELETE-SEGMENT-NAME SEGABC
*LIST-SEGMENT-NAMES
EX1 272
SEGST3 255
NEWSEG 243
*
ND-60.051.08
Page 45¶
LOAD¶
LOAD ( <input file> ) [ ( <load segment> ) ] ( <link segment> )
Load a BRF <input file> to the specified <load segment>. The <load segment> must have been specified in a NEW-SEGMENT, a REENTRANT-LOAD, a NREENTRANT-LOAD or a NEW-BACKGROUND-SEGMENT command before it may be used in the LOAD command.
The <link segment> must be an existing segment, or one of the two segments currently being built. Link segment means that all symbols defined on the link segment will be available in the load operation. There must be no address overlap between the load segment and the link segment. If no <output file> parameter is specified, the last input file specified will be used. The default file type of the <input file> is :BRF.
If no <load segment> is specified, the last segment used as load segment or the first segment specified in a NEW-SEGMENT or a NEW-BACKGROUND-SEGMENT command will be used. The default value of the parameter <link segment> is the segment last used as link segment in the current load operation, or the second segment currently being built, or no link segment if no "second segment" is specified. The parameter <link segment> may be given the value zero to avoid linking to another segment in a load operation.
Programs in other languages than FORTRAN should use this command to prevent unintended loading of FORTRAN libraries. Libraries must be loaded by separate LOAD commands. An error message is output if you try to link to a reentrant subsystem segment.
EXAMPLE:¶
ØR1-LOADER
REAL TIME LOADER, SINTRAN III - I
*NEW-SEGMENT 243
*DEFINE-SEGMENT-NAME SEGABC, 243
*LOAD
INPUT FILE: TESTPROG:BRF
LOAD-SEGMENT: SEGABC
LINKING-SEGMENT:
*LOAD FORTRAN-IBANK
*END-LOAD
*EXIT-LOADER
ND-60.051.08
Page 46¶
NEW-BACKGROUND-SEGMENT¶
NEW-BACKGROUND-SEGMENT ( <segment> ) ( <ring> ) ( <segment type> ) ( <protection bits> ) ( <WP/NP> )
This command allocates a new segment. The command is similar to NEW-SEGMENT except that addresses may overlap addresses used in RTCOMMON. References to the part of the segment that overlaps RTCOMMON will access the segment, not RTCOMMON.
EXAMPLE:¶
*NEW-BACKGROUND-SEGMENT
SEGMENT: 243
RING:
SEGMENT TYPE: ND
PROTECTION BITS: RF
WP/NP: NP
*LOAD ALTPROG:BRF,243,
*LOAD FORTRAN-18ANK 243,
*END-LOAD
*WRITE-SEGMENTS 243,
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING | PIT | SEG. PROT | SEG. TYPE |
|---|---|---|---|---|---|---|---|---|---|
| 243 | 0 | 35777 | 17307 | 0 | 0 | 1 | RF | NON DEMAND | |
| * |
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 47¶
NEW-SEGMENT¶
*NEW-SEGMENT (<segment>) (<ring>) (<segment type>) (<protection bits>) (<WP/NP>)
Allocate a segment to be used in the current load operation. The <segment> must be an available free segment number. The default value is the first free segment number. The parameter <ring> specifies on which protection ring the segment will reside. Legal values are 0, 1 and 2, with a default value of 0.
The parameter <segment type> specifies whether the segment will be a demand segment or a non demand. The default type is non demand. Legal values of the parameter <segment type> are the character ND for non demand and DM for demand.
The parameter <protection bits> specifies whether the segment is to be fetch permitted, read permitted or write permitted. Legal values for this parameter are F for fetch, R for read and W for write permitted or a combination of these three characters. Default value is RFW.
The parameter <WP/NP> specifies whether the "written-in-page" bit in the page table entries used by this segment shall be set or not. The characters WP for setting this bit and NP for not setting this bit are legal parameters. The default value is NP.
EXAMPLE:¶
| Command | Value |
|---|---|
| *NEW-SEGMENT | |
| SEGMENT | 243 |
| RING | 2 |
| SEGMENT TYPE | DM |
| PROTECTION BITS | RE |
| WP/NP | NP |
| *NEW-SEGMENT | |
| New Segment No | 246 |
ND-60.051.08
Page 48¶
NREENTRANT-LOAD¶
NREENTRANT-LOAD () [()]
Load a BRF <input file> to the current load segment which is the last segment loaded into in the current load operation or the first segment specified in a NEW-SEGMENT or a NEW-BACKGROUND-SEGMENT command. If no current load segment exists, the first free segment number will be allocated and used as the current load segment. If a new segment is allocated, it will be a non-demand segment residing on protection ring 0 and read, write and fetch will be permitted.
The link segment <link segment> must be one of the two segments currently being built or an already existing segment, or <link segment> equal to zero means that no linking is wanted. It must not be a reentrant subsystem segment. The default value of the parameter <link segment> is the last segment used as link segment or the "second" segment currently being built. The default value of the parameter <input file> is the last file used as <input file>. The default file type of this file is :BRF.
The FORTRAN library file, FTNLIBR, will be loaded in the END-LOAD command if there are undefined symbols, and the last load command is NREENTRANT-LOAD.
EXAMPLE¶
ØRT-LOADER
REAL TIME LOADER. SINTRAN III - 1
*NREENTRANT-LOAD
INPUT FILE: TESTPROG;BRF
LINKING-SEGMENT:
NEW SEGMENT NO: 243
*END-LOAD
*EXIT-LOADER
Ø
ND-60.051.08
Page 49¶
OCTAL-DUMP¶
OCTAL-DUMP (
Dump the specified area of the specified <segment> in octal format on the given <output file>. The parameter <segment> must refer to an already existing segment or one of the segments currently being built or it may have the value zero meaning RTCOMMON. The default value of the parameter <segment> is the current load segment.
The parameter <lower address> is the first address and <upper address> is the last address of the area to be dumped. The default value of the parameter <lower address> is the first address of the segment and the default value of the parameter <upper address> is the last address of the segment. The default value of the parameter <output file> is the terminal.
EXAMPLE:¶
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
|---|---|---|---|---|---|---|---|---|---|
| 10 | 0 | 171400 | 135103 | 14 | 232 | 42 | 0 | 0 | |
| 20 | 605 | 135075 | 44075 | 46017 | 170452 | 4610 | 44072 | 171003 | |
| 30 | 135071 | 44071 | 171001 | 135070 | 4611 | 171101 | 44065 | 124004 | |
| 40 | 44064 | 171001 | 135063 | 44063 | 171002 | 135062 | |||
| * |
ND-60.051.08
Page 50¶
PARTIAL-CLEAR-RTFIL¶
*PARTIAL-CLEAR-RTFIL <symbol name/segment> (<segment>)
This command will delete all symbols in RTFIL defined after the specified <symbol name> on the given <segment>. If the parameter <symbol name/segment> is a segment number, then all symbols defined on this segment will be deleted from RTFIL. If no <segment> is specified, then the last <symbol name> with any segment number, will be searched for.
If the command LIST-AFTER-INCREASING-ADDRESSES is given, then all defined symbols with a value greater than the specified symbol will be deleted by the PARTIAL-CLEAR-RTFIL command.
RT program names and segment names will not be deleted by this command.
IN THE FOLLOWING EXAMPLE TIME IS AN RT PROGRAM:¶
| COMMAND | VALUE | SEGMENT |
|---|---|---|
| *WRITE-RTFIL 243 | ||
| TIME | 45570 | 243 0 |
| 50CTAL | 22047 | 243 |
| 5LDN | 30017 | 243 |
| SERRF | 22063 | 243 |
| SETERRO | 22260 | 243 |
| S5TEXT | 23312 | 243 |
| SP7EXT | 23364 | 243 |
| 50SUB | 32351 | 243 |
| IBANK | 33743 | 243 |
*PARTIAL-CLEAR-RTFIL
SYMBOL NAME/SEGMENT NO.: SETERRO
SEGMENT: 243
*WRITE-RTFIL 243
| COMMAND | VALUE | SEGMENT |
|---|---|---|
| TIME | 45570 | 243 0 |
| SETERRO | 22260 | 243 |
| S5TEXT | 23312 | 243 |
| SP7EXT | 23364 | 243 |
| 50SUB | 32351 | 243 |
| IBANK | 33743 | 243 |
ND-60.051.08
Page 51¶
PARTIAL-CLEAR-TABLE¶
PARTIAL-CLEAR-TABLE
All symbols defined after the given <symbol name> will be deleted from the linking table. RT program names and segment names will not be deleted by the PARTIAL-CLEAR-TABLE command. If the command LIST-AFTER-INCREASING-ADDRESSES is given, then all defined symbols with a value greater than the specified <symbol name> will be deleted by the PARTIAL-CLEAR-TABLE command.
EXAMPLE:¶
*WRITE-SYMBOLS.
5GBLFAC 30051 243
5STEXT 23312 243
SETERROR 22660 243
5LDN 30017 243
5OCTAL 23047 243
5MOVBT 23030 243
*PARTIAL-CLEAR-TABLE
SYMBOL NAME: SETERROR
*WRITE-SYMBOLS.
SETERROR 22660 243
5LDN 30017 243
5OCTAL 23047 243
5MOVBT 23030 243
*
ND-60.051.08
Page 52¶
PRESET-COMMON-ADDRESS¶
*PRESET-COMMON-ADDRESS (
This command selects an address where the common area will start on the current link or load segment. The default <segment> is the current load segment and the default <address> is the current load address on the specified segment.
If the <address> is less than the current load address of the segment when the END-LOAD command is given, a warning message is printed.
EXAMPLE:¶
*NEW-SEGMENT 243
*PRESET-COMMON-ADDRESS
SEGMENT:
ADDRESS: 70000
*REENTRANT-LOAD TESTPROG;BRF
*REENTRANT-LOAD TESTLIB;BRF
*END-LOAD
WHAT-IS COMLAB
| COMLAB | 70000 | 243 | DEFINED COMMON LABEL, SIZE: | 14 |
Page 53¶
READ-BINARY¶
*READ-BINARY (<input file>) [(<segment>)]
This command will load binary code from the <input file> onto the given <segment>, which may be one of the segments currently being built, or one of the existing segments, or if the parameter <segment> equals zero, RTCOMMON. When loading into an existing segment, the question CHANGING EXISTING SEGMENT? will be printed. It must be answered with YES if the loading is to continue.
When loading into RTCOMMON, the question CHANGING RTCOMMON? will be printed before RTCOMMON is changed. If the specified segment is one of the segments currently being built, then the load address on this segment will be set equal to the last address loaded into plus one. The current load address of RTCOMMON will be affected in the same way when loading into RTCOMMON.
The default value of the parameter <input file> is the last file used as <input file>. The current load segment or the segment first specified in a NEW-SEGMENT command in the current load operation is the default value of the parameter <segment>. The default file type of the <input file> is :BPUN.
Programs loaded by the READ-BINARY command will get no RT descriptions or program names. An RT description must be allocated by the command DECLARE-PROGRAM. The contents of the RT description must be set by the command CHANGE-RT-DESCRIPTION.
EXAMPLE:¶
| Command |
|---|
| *NEW-SEGMENT 243... |
| *LOAD TESTPROG;BRF. |
| *END-LOAD |
| *BINARY-DUMP BACKUP-243:BPUN.243.0.1000 |
| *CLEAR-SEGMENT 243... |
| *NEW-SEGMENT 250... |
| *READ-BINARY |
| INPUT FILE: BACKUP-243:BPUN |
| SEGMENT: 250 |
| *DECLARE-PROGRAM |
| RT PROGRAM: TIME |
| RT DESCRIPTION ADDRESS: |
| *CHANGE-RT-DESCRIPTION |
| RT PROGRAM: TIME |
| PRIORITY: 30 |
| SEGMENT ONE: 250 |
| SEGMENT TWO: |
| START ADDRESS: 0... |
| *END-LOAD |
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 54¶
READ-PROGFILE¶
*READ-PROGFILE (
This command will load code in prog-file format from the <input file> onto the given <segment>. The <input file> may be either one-bank or two-bank. The <initial page table> for the program bank must be set to 1 or 2. If a two-bank program is loaded, the data bank will be placed on the opposite table.
The <segment> must be a segment number or a segment name specified in a previous NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command. The default value is this segment. Only one NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command is legal before the READ-PROGFILE command. No END-LOAD command is needed.
The default <initial page table> is the value given by a previous SET-PAGE-TABLE command. The <input file> will determine the address space. The default file type is :PROG.
This command is not available in the RT LOADER, version I.
Example¶
*NEW-SEGMENT 243
*READ-PROGFILE
INPUT FILE: TEST.PROG
SEGMENT:
INITIAL PAGE TABLE:
*EXIT
Page 55¶
REENTRANT-LOAD¶
*REENTRANT-LOAD () () (
This command will load BRF code into the current load segment from the given . The current load segment is the last segment specified in the current load operation, or the first segment specified in a NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command. If no current load segment exists, then the first free segment number will be allocated as the current load segment. This segment will be a non demand segment, residing on protection ring 0, and it will be read, write and fetch permitted.
The may refer to one of the segments currently being built, an already existing segment, or have the value zero if no linking is wanted. The default value of the parameter is the last segment used as link segment in the current load operation. The last file used as is the default value of the parameter . The default file type of the is :BRF.
After each REENTRANT-LOAD command the file FTNRTLIBR, containing the reentrant FORTRAN runtime system, is scanned. Then the symbol STEND (end of stack) is defined, and the names of the non reentrant routines in FNRTLIBR are deleted from the linking table. STEND is defined only if referenced. Only a main program references STEND.
The symbol STEND will receive a value equal to the load address after the file FTNRTLIBR is scanned plus the value of the parameter
This command is useful when building a system consisting of reentrant FORTRAN programs on the same segment. The BRF code of the various RT programs should be placed on different files, and one then uses a single REENTRANT-LOAD command for each RT program.
EXAMPLE:¶
| Command | Specification |
|---|---|
| *REENTRANT-LOAD | |
| INPUT FILE: | TESTPROG:BRF |
| LINKING-SEGMENT: | |
| STACK LENGTH: | 400 |
| NEW SEGMENT NO: | 243 |
| *END-LOAD |
- ND-60.051.08
Page 56¶
REFER-SYMBOL¶
REFER-SYMBOL
This command will enter the
EXAMPLE:¶
* REFER-SYMBOL
SYMBOL NAME: ABC3
* REFER-SYMBOL SMSG
* WRITE-REFERENCES
SMSG
ABC3
*
ND-60.051.08
Page 57¶
RELEASE-SEGMENT¶
*RELEASE-SEGMENT
This command will release the given <segment> from the segment table. There will be no check as to whether any RT programs have this segment as one of its initial segments, but if the segment is currently in use by any RT program, an error message will be given, and the segment will not be released.
No symbols in RTFIL or in the linking table will be deleted by this command, only the segment table entry and the segments’ space on the segment file will be released. A related command is CLEAR-SEGMENT.
EXAMPLE:¶
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING PROT | PIT | SEG. PROT | SEG. TYPE |
|---|---|---|---|---|---|---|---|---|---|
| 250 | 0 | 35777 | 17307 | 0 | 0 | 1 | RFW | NON DEMAND |
RELEASE-SEGMENT
SEGMENT: 250
WRITE-SEGMENT 250.
SEGMENT NOT USED
ND-60.051.08
Page 58¶
RENAME-SYMBOL¶
RENAME-SYMBOL <old symbol> <new symbol>
The <old symbol> in the linking table will be renamed <new symbol>. Common labels and RT program names and segment names cannot be renamed.
Example¶
*NREENTRANT-LOAD TESTPROG:REF.
NEW SEGMENT NO: 243
*DEFINE-SYMBOL ABC3,170000,243
*WRITE-SYMBOLS.
ABC3 170000 243
QUIT 34331 243
BANK 33743 243
*RENAME-SYMBOL
OLD SYMBOL: ABC3
NEW SYMBOL: MSG3
*WRITE-SYMBOLS.
MSG3 170000 243
QUIT 34331 243
BANK 33743 243
*
ND-60.051.08
Page 59¶
REORGANIZE-SEGMENT-FILE¶
REORGANIZE-SEGMENT-FILE
This command will reorganize the specified segment file in order to avoid loss of space on the specified segment file. After this command, the segments will use a continuous area on the segment file.
The segments not built by the RT LOADER will not be moved, and no segments may be in use by RT programs when executing the REORGANIZE-SEGMENT-FILE command. If no parameter
EXAMPLE:¶
*DUMP-SEGFILE-BITMAP
SEGMENT FILE NO.: 0
OUTPUT FILE:
0 177777 177777 077777 177777 177777 177777 177777 177777
200 177777 177777 177777 177777 177777 177777 177777 177777
400 177777 177777 177777 177777 177777 177777 177777 177777
600 177777 177777 177777 177777 177777 177777 177777 177777
1000 177777 177777 177777 177777 177777 178006 003777 177777
1200 177777 177777 177777 177000 000006 000177 177777 177777
1400 177777 177777 177600 037777
NUMBER OF PAGES IN SEGMENT FILE: +462
FREE PAGES ON SEGMENT FILE: 72
NUMBER OF CONTINUOUS FREE PAGES: 40
*REORGANIZE-SEGMENT-FILE
SEGMENT FILE NO.: 0
*DUMP-SEGFILE-BITMAP 0.
0 177777 177777 077777 177777 177777 177777 177777 177777
200 177777 177777 177777 177777 177777 177777 177777 177777
400 177777 177777 177777 177777 177777 177777 177777 177777
600 177777 177777 177777 177777 177777 177777 177777 177777
1000 177777 177777 177777 177777 177777 177777 177777 177777
1200 177777 177777 177777 177000 177777 177777 177777 177777
1400 174000 000000 000000 037777
NUMBER OF PAGES IN SEGMENT FILE: +462
FREE PAGES ON SEGMENT FILE: 72
NUMBER OF CONTINUOUS FREE PAGES: 79
The last number, in this example 037777, will not be 0 unless the size of the segment file is a multiple of 16.
ND-60.051.08
Page 60¶
RESET-C5¶
*RESET-C5
This command will reset the "five-characters-common-label" mode. See the command SET-C5.
EXAMPLE¶
*NREENTRANT-LOAD TESTPROG;BRF;
NEW SEGMENT NO: 243
*SET-C5
*LOAD MACPROG;BRF;...
*RESET-C5
*LOAD FORTPROG;BRF;...
*END-LOAD
ND-60.051.08
Page 61¶
RESET-FORTRAN-100-DEFAULT¶
*RESET-FORTRAN-100-DEFAULT
This command is used to reset the mode set by SET-FORTRAN-100-DEFAULT. That is, the commands NREENTRANT-LOAD and REENTRANT-LOAD will suit programs compiled by the old FTN compiler.
Example¶
*SET-FORTRAN-100-DEFAULT
*NEW-SEGMENT
NEW SEGMENT NO: 243
*REENTRANT-LOAD FOR-100-PROG.BRF
*END-LOAD
*RESET-FORTRAN-100-DEFAULT
ND-60.051.08
Page 62¶
RESET-LOADER¶
*RESET-LOADER
This command will reset the RT LOADER to its initial state, which is the state after the last EXIT-LOADER, END-LOAD, TERMINATE-LOAD-AND-LIST or RESET-LOADER command.
EXAMPLE:¶
*NEW-SEGMENT BIG...
NEW SEGMENT NO: 206
*ALLOCATE-AREA BIG, 177777, 0
SE; VIRTUAL ADDRESS SPACE IS FULL. SEGMENT: 206
*RESET-LOADER
*
ND-60.051.08
Page 63¶
RESET-NEW-PAGE¶
"RESET-NEW-PAGE
The "new page" mode is reset by this command. See the SET-NEW-PAGE command.
EXAMPLE¶
*SET-NEW-PAGE
*#REENTRANT-LOAD TESTPROG;BRE.
NEW SEGMENT NO: 243
*LOAD FORTRAN-18ANX.
*RESET-NEW-PAGE
*LOAD RTLIB.
Page 64¶
RESET-PROTECT-FLAG¶
RESET-PROTECT-FLAG
Resets the flag set by the command SET-PROTECT-FLAG. The segment can now be cleared.
EXAMPLE:¶
*NREENTRANT-LOAD TESTPROG:BRF.
NEW SEGMENT NO: 243
*NREENTRANT-LOAD FORTRAN-1BANK.
*END-LOAD
*SET-PROTECT-FLAG
SEGMENT: 243
*CLEAR-SEGMENT 243
PROTECTED SEGMENT
*YES
*RESET-PROTECT-FLAG
SEGMENT: 243
*CLEAR-SEGMENT 243
*
ND-60.051.08
Page 65¶
SEARCH-FOR-RTFIL-SYMBOL¶
SEARCH-FOR-RTFIL-SYMBOL (
This command will search in RTFIL for the specified <symbol name> defined on the given <segment>. If an undefined symbol with this name exists in the linking table, then this will be given the same value as the symbol found in the RTFIL.
If no parameter <segment> is specified, then the whole RTFIL is scanned for a match with the specified symbol. If no parameter <symbol name> is specified, then all undefined symbols in the linking table are searched for in RTFIL.
EXAMPLE:¶
NEEENTRANT-LOAD TESTPROG;BRF.
NEW SEGMENT NO: 243
WRITE-REFERENCES*
ACCRT
RELES
RESRV
*WRITE-RTFIL
SEGMENT: 132
OUTPUT FILE:
| ACCRT | 613 | 32 | 0 |
SEARCH-FOR-RTFIL-SYMBOL
SEGMENT: 132
SYMBOL NAME: ACCRT
WRITE-REFERENCES*
RELES
RESRV
WRITE-SYMBOLS
| ACCRT | 613 | 243 |
ND-60.051.08
Page 66¶
SET-C5¶
*SET-C5
This is a command to make common label names with six or seven characters match with common labels used in the )9ADS command in MAC or NPL. The )9ADS command uses five characters. The SET-C5 command allows the same common labels to be used in FORTRAN and in MAC or NPL.
The method makes the five last characters in a common label name significant. This command is reset by the command RESET-C5 or by leaving the RT LOADER.
Example:¶
*NREENTRANT-LOAD TESTPROG:BRF.
NEW SEGMENT NO: 243
*SET-C5
*LOAD MACPROG:BRF.
*END-LOAD
*
ND-60.051.08
Page 67¶
SET-DATA-LOAD-ADDRESS¶
*SET-DATA-LOAD-ADDRESS <load address>
This command sets the load address of a data segment. See the command SET-DATA-SEGMENT. This command applies only to COBOL programs.
EXAMPLE:¶
*NEW-SEGMENT 243
*SET-DATA-SEGMENT 243
*SET-DATA-LOAD-ADDRESS
ADDRESS: 16000
*LOAD COBPROG:BRF
Page 68¶
SET-DATA-SEGMENT¶
*SET-DATA-SEGMENT <segment>
This command selects the segment where COBOL data areas will be loaded. It must be one of the current segments being loaded. The command SET-DATA-LOAD-ADDRESS must be used before the next program is loaded.
Example¶
*NEW-SEGMENT 243
*SET-DATA-SEGMENT
SEGMENT: 243
*SET-DATA-LOAD-ADDRESS
ADDRESS: 1800D
*LOAD COBPROG;BRE
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 69¶
SET-ENTRY-ADDRESS-DISPLACEMENT¶
*SET-ENTRY-ADDRESS-DISPLACEMENT
The command will set the next symbols to be defined at addresses having the
EXAMPLE SHOWING THE DIFFERENT SYMBOL ADDRESSES¶
*NEW-SEGMENT...
NEW SEGMENT NO: 251
*SET-ENTRY-ADDRESS-DISPLACEMENT
DISPLACEMENT (0-7): 5
*LOAD PROGA...
*LOAD FORTRAN-18ANK...
*WRITE-SYMBOLS...
CLOCK 26645 251
RELES 26665 251
ABORT 26635 251
INCH 26645 251
RESRV 26655 251
*END-LOAD
*NEW-SEGMENT 252...
*LOAD PROGA...
PROGA REPLACING? YES
*LOAD FORTRAN-18ANK...
*WRITE-SYMBOLS...
CLOCK 26642 252
RELES 26661 252
ABORT 26631 252
INCH 26613 252
RESRV 26646 252
*END-LOAD
*EXIT-LOADER
NO-60.051.08
Page 70¶
SET-FORTRAN-100-DEFAULT¶
SET-FORTRAN-100-DEFAULT
The command NREENTRANT-LOAD and REENTRANT-LOAD were originally tailored for the old FTN compiler. The command SET-FORTRAN-100-DEFAULT makes it simpler to use the newer FORTRAN-100 compiler together with the RT LOADER.
After this command is given, REENTRANT-LOAD will automatically allocate stack area and load the FORTRAN-1BANK library. The NREENTRANT-LOAD will load the FORTRAN-1BANK only.
The command RESET-FORTRAN-100-DEFAULT or EXIT-LOADER will reset the RT LOADER to the original mode.
EXAMPLE:¶
| Command |
|---|
| *SET-FORTRAN-100-DEFAULT |
| *NEW-SEGMENT SEGABC |
| NEW SEGMENT NO: 243 |
| *REENTRANT-LOAD FOR-100-PROG: BRF |
| *END-LOAD |
ND-60.051.08
Page 71¶
SET-IO-BUFFERS¶
SET-IO-BUFFERS (
This command is used to specify the buffer space for the ND FORTRAN buffered I/O. The parameter is the number of buffers, 1K words each. One buffer may be reserved for each I/O unit. The number is limited to a maximum of eight. The buffer space is reserved by the loader in the user's program area. The default
The command is similar to the command IO-BUFFERS in ND RELOCATING LOADER. See also FORTRAN SYSTEM REFERENCE MANUAL (ND-60.074).
EXAMPLE:¶
| Command |
|---|
| *NEW-SEGMENT 243 |
| *SET-IO-BUFFER |
| NO. OF 1K IO-BUFFERS: 2 |
| *LOAD TESTPROG:BRF |
| *LOAD FORTRAN-18BANK |
Page 72¶
SET-LOAD-ADDRESS¶
SET-LOAD-ADDRESS (
This command will set the current load address of the given <segment> to the value <address>. The <segment> must be one of the segments currently being loaded to, or the <segment> can have the value zero meaning RTCOMMON. The default <segment> is the last segment used as load segment, or the first segment specified in a load operation.
When RTCOMMON is specified, the question CHANGING LOAD ADDRESS OF RTCOMMON? is printed, and this must be answered with YES before any changing of RTCOMMON load address can be done.
EXAMPLE:¶
*NEW-SEGMENT 243
*WRITE-LOAD-ADDRESS 243
L.ADR: 0 U.ADR: 0 C.LADR: 0
*SET-LOAD-ADDRESS
SEGMENT: 243
ADDRESS: 40000
*WRITE-LOAD-ADDRESS 243
L.ADR: 40000 U.ADR: 40000 C.LADR: 40000
*LOAD TESTPROG.BRF*
*
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 73¶
SET-NEW-PAGE¶
*SET-NEW-PAGE
This command will set the RT LOADER in "new page" mode, i.e., the current load address will be set to the start of a new page before each new BRF unit is loaded. The "new page" mode will be reset by the RESET-LOADER, END-LOADER and the RESET-NEW-PAGE commands.
The example shows the difference between loading a program with and without using the SET-NEW-PAGE command. Note the addresses of the symbols.
EXAMPLE¶
*REREENTRANT-LOAD TESTPROG:BRF..
NEW SEGMENT NO: 243
*LOAD FORTRAN:IBANK...
*WRITE-SYMBOLS...
| Symbol | Address |
|--------|---------|
| 5QUIT | 34331 243 |
| 5MSG | 34278 243 |
| 5STCO | 34346 243 |
| IBANK | 33743 243 |
*RESET-LOADER
*SET-NEW-PAGE
*REREENTRANT-LOAD TESTPROG:BRF..
NEW SEGMENT NO: 243
*LOAD FORTRAN:IBANK...
*WRITE-SYMBOLS...
| Symbol | Address |
|--------|---------|
| 5QUIT | 168001 243 |
| 5MSG | 164000 243 |
| 5STCO | 172000 243 |
| IBANK | 162000 243 |
ND-60.051.08
Page 74¶
SET-PAGE-TABLE¶
SET-PAGE-TABLE
This command will specify which page table the currently loaded segments and RT programs are to use. Usually, page table 1 is used for the RT programs and for RTCOMMON. Page table 1 is the default value used if other values are not set by the SET-PAGE-TABLE command. The commands RESET-LOADER and END-LOAD will always reset the page table to 1.
EXAMPLE:¶
*NEW-SEGMENT 243
*SET-PAGE-TABLE
PAGE INDEX TABLE NO.: 2
*LOAD TESTIPROG.BRF
*END-LOAD
*WRITE-SEGMENTS 243
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING | PIT | SEG. PROT | SEG. TYPE |
|---|---|---|---|---|---|---|---|---|---|
| 243 | * | 0 | 35177 | 17307 | 0 | 0 | 2 | RFW | NON DEMAND |
ND-60.051.08
Page 75¶
SET-PROTECT-FLAG¶
*SET-PROTECT-FLAG <segment>
This command protects a segment against clearing by the command CLEAR-SEGMENT. It cannot be issued until after the END-LOAD command. The flag is set until the command RESET-PROTECT-FLAG is given.
EXAMPLE:¶
*REENTRANT-LOAD TESTPROG:BRF.
NEW SEGMENT NO: 243
*END-LOAD
*SET-PROTECT-FLAG
SEGMENT: 243
*CLEAR-SEGMENT 243
PROTECTED SEGMENT
YES
*RESET-PROTECT-FLAG 243
*CLEAR-SEGMENT 243
ND-60.051.08
Page 76¶
SET-RTCOMMON¶
SET-RTCOMMON
The common area labelled <common label> will be allocated in RTCOMMON. This command must be used before the given common area is loaded.
Example¶
*NEW-SEGMENT 243
*SET-RTCOMMON
COMMON LABEL: COMLAB1
*SET-RTCOMMON COMLAB2
*LOAD TESTPROG.BRF
*LOAD TEST-TWO.BRF
*LOAD TEST-THREE.BRF
*WRITE-COMMON-LABELS
COMLAB2 174000 0 20
COMLAB1 174020 0 44
ND–60.051.08
Page 77¶
SET-SEGMENT-COMMON¶
*SET-SEGMENT-COMMON
The common area labelled <common area> will be allocated on the segment specified in the second NEW-SEGMENT command in a load operation. The SET-SEGMENT-COMMON command must be used before the common block is loaded. The command PRESET-COMMON-ADDRESS can be used to set a load address for the common block.
EXAMPLE:¶
*NEW-SEGMENT 243
*NEW-SEGMENT 250
*SET-SEGMENT-COMMON
COMMON LABEL: COMLAB1
*LOAD TESTPROG: BRF, 243, 250
*LOAD FORTRAN: 1BANK
*WRITE-COMMON-LABELS
COMLAB1 0 250 100
*
Page 78¶
SET-SEGMENT-FILE¶
*SET-SEGMENT-FILE \<segment file no.>
This command specifies the segment file where the segments currently being built are to reside. The current segment file can only be changed by this command. It will not be reset when you leave the RT LOADER.
EXAMPLE:¶
*SET-SEGMENT-FILE
SEGMENT FILE NO.: 1
*REENTRANT-LOAD TESTPROG:BRF.
NEW SEGMENT NO: 243
*LOAD FORTRAN-1BANK.
*END-LOAD
Page 79¶
TABLE-DUMP¶
TABLE-DUMP (<output file>)
Dump the contents of the linking table on the <output file>. The default <output file> is your terminal. The command is mainly useful for debugging the RT LOADER.
Page 80¶
TERMINATE-LOAD-AND-LIST¶
*TERMINATE-LOAD-AND-LIST (
This command has the same function as the END-LOAD command, but in addition the contents of the linking table will be listed on the <output file> before the linking table is reorganized.
This command is especially useful when loading common blocks in IMAGE-LOAD mode, because this is the only way to find out where the common blocks are allocated. The output will be in the same format as the WRITE-TABLE command. The default value of the parameter <output file> is the terminal.
EXAMPLE:¶
| OUTPUT FILE: |
|---|
| NEGLECTING REFERENCES? YES |
| RELES 243 REFERENCED SYMBOL |
| ABORT 243 REFERENCED SYMBOL |
| RESRV 243 REFERENCED SYMBOL |
| TIME 43570 243 0 DEFINED RT-PROGRAM |
| DUMMY 43571 0 DEFINED RT-PROGRAM |
ND-60.051.08
Page 81¶
UNFIX-SYMBOLS¶
UNFIX-SYMBOLS <segment>
All symbols in the linking table from the given <segment> will be removed from the linking table. The parameter <segment> must be an existing closed segment. A related command is FIX-SYMBOLS.
EXAMPLE:¶
*FIX-SYMBOLS 244
*WRITE-SYMBOLS
INCH 26444 244
RESRV 26471 244
SEXCEPT 21574 244
SINIT 34012 244
*UNFIX-SYMBOLS
SEGMENT 244
*WRITE-SYMBOLS
ND-60.051.08
Page 82¶
WHAT-IS¶
*WHAT-IS <symbol name>
This command will print all information about all symbols in the linking table and the RTFIL, with the given <symbol name>.
EXAMPLE:¶
*MEN-SEGMENT 243.
*LOAD TESTPROG.REF 243.
*WHAT-IS
SYMBOL NAME: INCH
| INCH | REFERENCED SYMBOL |
|------|-------------------|
*WHAT-IS TIME
| TIME | 45607 | 243 | 0 | DEFINED RT-PROGRAM |
|--------|-------|-----|-----------|--------------------|
Page 83¶
WRITE-COMMON-LABELS¶
*WRITE-COMMON-LABELS (
This command will list the names, addresses, segment numbers and area sizes of all the common labels defined or declared in the linking table. The address of undefined common labels are output as a series of question marks. The segment number 0 indicates common labels in RTCOMMON. The terminal is the default
EXAMPLE:¶
*NEW-SEGMENT,243.
*LOAD TESTPROG;BRF,243.
*SET-SEGMENT-COMMON,ABC
*WRITE-COMMON-LABELS
OUTPUT FILE:
| ABC | ????? | ||
| COMST | 10000 | 0 | 100 |
ND-60.051.08
Page 84¶
WRITE-LOAD-ADDRESS¶
WRITE-LOAD-ADDRESS (
This command will display the lowest address, the highest address and the current load address of the specified <segment>. This segment must be one of the segments currently being built. When the value zero is given for the parameter <segment>, the addresses of RTCOMMON are listed.
The default value for the parameter <segment> is the segment last used as load segment or the first segment specified in a load operation.
EXAMPLE¶
*NEW-SEGMENT 243
*WRITE-LOAD-ADDRESS
SEGMENT: 243
L.ADR: 0 U.ADR: 0 C.LADR: 0
*LOAD TESTPROG;BRE.243
*WRITE-LOAD-ADDRESS 243
L.ADR: 0 U.ADR: 216 C.LADR: 277
*SET-LOAD-ADDRESS 243
ADDRESS: 150000
*WRITE-LOAD-ADDRESS 243
L.ADR: 0 U.ADR: 147777 C.LADR: 150000
*LOAD FORTRAN-1BANK.
ND-60.051.08
Page 85¶
WRITE-NON-REENTRANT¶
WRITE-NON-REENTRANT (
This command will list the names and the values of the defined non reentrant FORTRAN runtime routines. This command is useful when loading a reentrant system. It should be used before the command DELETE-NON-REENTRANT in order to see the addresses of the routines which will be deleted by the DELETE-NON-REENTRANT command.
The default value of the parameter
EXAMPLE:¶
| Name | Value |
|---|---|
| 1BANK | 33742 |
| 1INIT | 34012 |
| 5ENTRD | 34207 |
| 5ERET | 34236 |
| 5LEAV | 34263 |
| 5NERR | 21657 |
| 5ERR | 21646 |
| 5FIO_BL | 31033 |
| 5ESTACK | 27344 |
| 5STACK | 30107 |
| 5MAINGR | 28424 |
| 5EXCEPT | 21574 |
| 5EXCINF | 26591 |
| 5STACE | 26516 |
| 5STACO | 27111 |
Page 86¶
WRITE-PROGRAMS¶
WRITE-PROGRAMS
This command will list the names of all defined and declared RT programs. The RT program name, the RT description address, and the two segment numbers of each RT program are listed. Declared RT programs will not have segment numbers, so question marks will be written instead of segment numbers.
The default value of the parameter
EXAMPLE:¶
NEW-SEGMENT 243
LOAD TESTPROG;BRE 243.
DECLARE-PROGRAM
RT-PROGRAM: RTTEST
RT-DESCRIPTION ADDRESS: 45607
WRITE-PROGRAMS
OUTPUT FILE:
| RTTEST | 45607 | ?????? | |
| TIME | 45570 | 243 | 0 |
| DUMMY | 43517 | 0 | 0 |
| BAKO1 | 44077 | 3 | 60 |
| BAKO5 | 44116 | 3 | 62 |
| BCH01 | 45417 | 3 | 220 |
| TADAD | 44069 | 36 | 0 |
| XTRACE | 45532 | 35 | 33 |
| XROUT | 45513 | 34 | 33 |
*
Page 87¶
WRITE-REFERENCES¶
*WRITE-REFERENCES (<output file>)
This command will list undefined symbols in the linking table on the <output file>. The terminal is the default <output file>. The command WRITE-SYMBOLS will list all defined symbols in the linking table and the command LIST-REFERENCES-ADDRESS will list all addresses where an undefined symbol is referred to.
EXAMPLE:¶
*NEW-SEGMENT 247...
*LOAD TESTPROG:BRF...
*WRITE-REFERENCES
OUTPUT FILE:
RELES
ABORT
INCH
RESRV
*
Page 88¶
WRITE-RTFIL¶
*WRITE-RTFIL (
This command will list all the symbols defined in the given <segment>. If no <segment> is specified, all the symbols in RTFIL will be listed. The terminal is the default <output file>. The symbol name, the value and the used segments are listed.
EXAMPLE:¶
| Symbol | Value | Segment | Used Segments |
|---|---|---|---|
| BCH01 | 65417 | 3 | 220 |
| BAK14 | 44267 | 3 | 100 |
| BAK13 | 44250 | 3 | 76 |
| BAK12 | 44231 | 3 | 74 |
| BAK11 | 44212 | 3 | 72 |
| BAK10 | 44173 | 3 | 70 |
| BAK09 | 44154 | 3 | 66 |
| BAK08 | 44135 | 3 | 64 |
| BAK05 | 44116 | 3 | 62 |
| BAK01 | 44077 | 3 | 60 |
| STSIN | 43356 | 3 | 5 |
Page 89¶
WRITE-SEGMENTS¶
WRITE-SEGMENTS (
This command will list all information about the specified segment <segment>. The information listed is the segment number, the segment name, the segment’s lower and higher addresses, the address in pages relative to the start of the segment file, the segment file number (SF), on which protect ring (RI) the segments reside, the page table number (PT), the memory protection type (read (R), write (W), fetch (F) are permitted) and the segment type (demand/non demand).
If no parameter <segment> is specified, then all segments are listed. When the value zero is given for the parameter <segment>, the address limits of the RTCOMMON area are listed. The terminal is the default <output file>.
Any REE-SUB and PROTECT flag setting is listed.
EXAMPLE:¶
| SEG. NO. | SEG. NAME | LOWER ADDR. | UPPER ADDR. | MASS ADDR. | SEG. FILE | RING | PIT | SEG. PROT | SEG. TYPE |
|---|---|---|---|---|---|---|---|---|---|
| 2 | 175717 | 0 | 0 | 2 | 1 | RFW | DEMAND | ||
| 3 | 100000 | 173777 | 77 | 0 | 2 | 0 | RFW | DEMAND | |
| 4 | 110000 | 147777 | 131 | 0 | 2 | 0 | RFW | DEMAND | |
| 5 | 22000 | 25777 | 151 | 0 | 2 | 0 | RF | NON DEMAND | |
| 6 | 110000 | 137777 | 153 | 0 | 2 | 0 | RFW | DEMAND | |
| 7 | 110000 | 153777 | 167 | 0 | 2 | 0 | RFW | DEMAND | |
| 10 | 0 | 177777 | 211 | 0 | 2 | 2 | RFW | DEMAND PROTECT | |
| 11 | 0 | 177777 | 311 | 0 | 2 | 1 | RFW | DEMAND | |
| 12 | 140000 | 137777 | 321 | 0 | 2 | 0 | RFW | DEMAND | |
| 13 | 56000 | 147777 | 337 | 0 | 2 | 0 | RFW | DEMAND | |
| 14 | 100000 | 123777 | 374 | 0 | 2 | 0 | RFW | DEMAND | |
| 15 | 110000 | 167777 | 402 | 0 | 2 | 0 | RFW | DEMAND | |
| 16 | 160000 | 160000 | EMPTY SEGMENT | ||||||
| 17 | 160000 | 173777 | 432 | 0 | 2 | 0 | RFW | DEMAND | |
| 20 | 0 | 0 | EMPTY SEGMENT |
No RTCOMMON AREA
ND-60.051.08
Page 90¶
WRITE-SYMBOLS¶
*WRITE-SYMBOLS (<output file>)
This command will list the names, the address, and the segment number of all defined symbols in the linking table. The terminal is the default <output file>. The command WRITE-REFERENCES will list all undefined symbols in the linking table.
EXAMPLE:¶
*LOAD TESTPROG, 2.4.3
*LOAD FORTRAN-1BANK, 2.4.3
*WRITE-SYMBOLS
OUTPUT FILE:
| Symbol | Address | Segment |
|---------|---------|---------|
| SFIO | 424 | 243 |
| CLOCK | 26467 | 243 |
| RELAES | 26473 | 243 |
| ABORT | 26462 | 243 |
| INCH | 26444 | 243 |
| RESRV | 26471 | 243 |
| SEXCEPT | 21574 | 243 |
| SINIT | 34012 | 243 |
*
ND-60.051.08
Page 91¶
WRITE-TABLE¶
*WRITE-TABLE (
This command will list all information about all symbols of all types, in the linking table. The default
EXAMPLE:¶
*NEW-SEGMENT 243
*LOAD TESTPROG:8REF 243
*DECLARE-PROGRAM RTTEST,4.55607
*WRITE-TABLE
| Symbol | Value | Segment | Type |
|--------|--------|---------|--------------------------------|
| ABORT | 243 | | REFERENCED SYMBOL |
| INCH | 243 | | REFERENCED SYMBOL |
| TIME | 45570 | 243 | 0 DEFINED RT-PROGRAM |
| BAKD1 | 44077 | 3 | 60 DEFINED RT-PROGRAM |
| BAKD5 | 44116 | 3 | 62 DEFINED RT-PROGRAM |
| BAKD8 | 44135 | 3 | 64 DEFINED RT-PROGRAM |
| BAKD9 | 44154 | 3 | 66 DEFINED RT-PROGRAM |
| BAK10 | 44173 | 3 | 70 DEFINED RT-PROGRAM |
| BAK11 | 44212 | 3 | 72 DEFINED RT-PROGRAM |
| BCHO1 | 45417 | 3 | 220 DEFINED RT-PROGRAM |
| TADDAD | 48060 | 36 | 0 DEFINED RT-PROGRAM |
| COMTST | 10000 | 0 | DEFINED COMMON LABEL. SIZE: 44 |
| RTTEST | 45507 | | DECLARED RT-PROGRAM |
Page 92¶
X-LOAD¶
X-LOAD ( ) (
When using this command in a load operation, BRF units in library format will be loaded if the library symbol of the BRF unit is either undefined or does not exist in the linking table. If the library symbol of the BRF unit is defined in the linking table, then the BRF unit will be skipped. Otherwise, this command has the same function as the LOAD command.
EXAMPLE:¶
*NEW-SEGMENT 213
*X-LOAD
INPUT FILE: FORTRAN-18ANK
LOAD-SEGMENT: 213
LINKING-SEGMENT:
*WRITE-LOAD-ADDRESS 213
L.ADR: 0 U.ADR: 122141 C.ADR: 122748
*
ND-60.051.08
Page 93¶
YES¶
YES (
Sometimes the RT LOADER asks a question when processing a command. It is difficult to predict this when creating a mode or batch file. If you want a question to be answered with YES, you should include it as the next command in the file after the command where the question may occur. There are three possibilities:
-
The question is not asked. Any YES command will be ignored.
-
The question is asked and should be answered with YES. The user must then include YES as the next command.
-
The question is asked and should be answered with NO. In this case the mode or batch file should be aborted. This is performed by default since the next command is not YES.
Since the text following YES is disregarded, but appears on the mode or batch file, YES is not part of the comment. Also, YES cannot be used as a comment after a command where a question should be answered with a NO.
THE EXAMPLE SHOWS THE MODE FILE YES-COMMAND: MODE AND THE OUTPUT OF THE EXECUTION OF THE FILE:¶
ØRT-LOADER
YES THIS IS A COMMENT WHICH WILL BE IGNORED
READ-BINARY TESTPROG:#PUN,243
YES
END-LOAD
EXIT-LOADER
ØMODÈ YES-COMMANDMODE.
ØRT-LOADER
ØREAL TIME LOADER. SINTRAN III - I
*YES THIS IS A COMMENT WHICH WILL BE IGNORED
*READ-BINARY TESTPROG:#PUN,243
CHANGING EXISTING SEGMENT? YES
*END-LOAD
*EXIT-LOADER
ø
ND-60.051.08
Page 94¶
I'm unable to convert the page as it is blank.
Page 95¶
EXAMPLES¶
This chapter shows some examples of loading and linking RT programs. The programs are written in FORTRAN, and the user should be familiar with the FORTRAN-100 compiler.
LOADING AND STARTING AN RT PROGRAM¶
This is an example of compiling the FORTRAN program PROGA, loading it into a segment and starting the program with the RT command in SINTRAN III. The RT program PROGA is a program to print the message “THIS IS PROGRAM PROGA CALLING”.
FORTRAN-100
ND-100/NORD-10 ANSI 77 FORTRAN COMPILER - 203053D
FTN: COMPILE PROGA, PROGA
- CPU TIME USED: 0.5 SECONDS. 36 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=471 COMMON SIZE=0
FTN: EXIT
URT-LOADER
REAL TIME LOADER, SINTRAN III - 3
*NEW-SEGMENT SEGA,,,
NEW SEGMENT NO: 247
*LOAD PROGA,,,
*LOAD FORTRAN: IBANK,,,
*END-LOAD
*EXIT-LOADER
URT-PROGA
@LOG
16.21.04 20 FEBRUARY 1984
-EXIT--
THIS IS PROGRAM PROGA CALLING
Page 96¶
3.2 LOADING PROGRAMS AND LIBRARIES TO DIFFERENT SEGMENTS¶
This is an example of loading three reentrant RT programs PROG1, PROG2 and PROG3 to three different segments. All three RT programs call the reentrant subroutine SUBR, and this subroutine is loaded into a segment which will be common for the three RT programs.
@FORTRAN-100
ND-100/NORD-10 ANSI 77 FORTRAN COMPILER - 2030530
FTN: REENTRANT-MODE ON
FTN: COMPILE PROG1...PROG1
- CPU TIME USED: 0.5 SECONDS. 15 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=70 STACK SIZE=18 COMMON SIZE=0
FTN: COMPILE PROG2...PROG2
- CPU TIME USED: 0.4 SECONDS. 23 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=76 STACK SIZE=6 COMMON SIZE=0
FTN: COMPILE SUBR...SUBR
- CPU TIME USED: 0.3 SECONDS. 5 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=12 STACK SIZE=9 COMMON SIZE=0
FTN: EXIT
@RT-LOADER
REAL TIME LOADER, SINTRAN III - J
*SET-FORTRAN-100-DEFAULT
*NEW-SEGMENT SEGS
NEW SEGMENT NO: 243
*SET-LOAD-ADDRESS SEGS, 100000
*LOAD SUBR
*LOAD FORTRAN-LIBANK
*END-LOAD
*NEW-SEGMENT SEGR1
NEW SEGMENT NO: 244
*REENTRANT-LOAD PROGR1, SEGS, 1000
*END-LOAD
*NEW-SEGMENT SEGR2
NEW SEGMENT NO: 245
*REENTRANT-LOAD PROGR2, SEGS, 1000
*END-LOAD
*EXIT-LOADER
ND-60.051.08
Page 97¶
3.3 LOADING PROGRAMS AND LIBRARIES TO ONE SEGMENT¶
This is an example of loading the three reentrant RT programs PROG1, PROG2 and PROG3 into the same segments.
FORTRAN-100
ND-100/NORD-10 ANSI 77 FORTRAN COMPILER - 203053D
FTN: REENTRANT-MODE ON
FTN: COMPILE PROGR1,,PROGR1
- CPU TIME USED: 0.7 SECONDS, 15 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=70 STACK SIZE=18 COMMON SIZE=0
FTN: COMPILE PROGR2,,PROGR2
- CPU TIME USED: 0.5 SECONDS, 13 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=36 STACK SIZE=6 COMMON SIZE=0
FTN: COMPILE SUBR,,SUBR
- CPU TIME USED: 0.4 SECONDS, 5 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=12 STACK SIZE=9 COMMON SIZE=0
FTN: EXIT
RT-LOADER
REAL TIME LOADER, SINTRAN III - J
*SET-FORTRAN-100-DEFAULT
*NEW-SEGMENT SEGR,,,
*REENTRANT-LOAD PROGR1,,,,,,
*REENTRANT-LOAD PROGR2,,,,,,,
*REENTRANT-LOAD SUBR,,,,,,,
*END-LOAD
*EXIT-LOADER
0
ND-60.051.08
Page 98¶
3.4 LOADING PROGRAMS WITH COMMON AREAS¶
This is an example of loading a common area named COMMLAB to one segment, and then load the two RT programs COMPRO1 and COMPRO2 into other segments and link these segments to the common segment, i.e., the two RT programs both refer to the common area COMMLAB.
%FORTRAN-100
ND-100/NORD-10 ANS1 77 FORTRAN COMPILER - 203053D
FTN: COMPILE PROGCl. .PROGC1
- CPU TIME USED: 0.5 SECONDS. 4 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=44 COMMON SIZE=12
FTN: COMPILE PROGC2. .PROGC2
- CPU TIME USED: 0.6 SECONDS. 4 LINES COMPILED.
- NO MESSAGES
- PROGRAM SIZE=44 COMMON SIZE=12
FTN: EXIT
ØRT-LOADER
REAL TIME LOADER, SINTRAN III - J
*NEW-SEGMENT SEGC1.....
NEW SEGMENT NO: 205
*NEW-SEGMENT SEGCOM.....
NEW SEGMENT NO: 206
*SET-SEGMENT-COMMON COMMLAB
*LOAD PROGC1 SEGC1 SEGCOM
*LOAD FORTRAN-£BANK......
*END-LOAD
*NEW-SEGMENT SEGC2.....
NEW SEGMENT NO: 207
*LOAD PROGC2..... SEGC2 SEGCOM
*LOAD FORTRAN-£BANK......
*WRITE-TABLE.......
| NAME | SEGMENT NO. | DEFINED |
| ------ | ----------- | ------- |
| $INIT | 11115 207 | DEFINED SYMBOL |
| PROGC2 | 46312 207 206 | DEFINED RT-PROGRAM |
| COMMLAB | 100008 206 | DEFINED COMMON LABEL, SIZE: 14 |
| DUMMY | 44467 0 0 | DEFINED RT-PROGRAM |
| STSIN | 44506 3 5 | DEFINED RT-PROGRAM |
*END-LOAD
*EXIT-LOADER
Ø
ND-60.051.08
Page 99¶
ERROR MESSAGES¶
The error messages from the RT LOADER are divided into three groups:
-
Fatal RT LOADER Errors
The message FATAL RT-LOADER ERROR and the contents of the registers are printed and the control is given to the operator communication again. If this error message occurs, contact Norsk Data A.S.
-
Serious Errors
The error messages starting with the characters SE; are serious errors, which means that no more "loading commands" (LOAD, REENTRANT-LOAD, END-LOAD, etc.) are legal before the command RESET-LOADER is executed.
-
Other Errors
All other error messages are informative errors, which means that the load operation may continue without resetting the RT LOADER.
Explanation of Some of the Error Messages¶
LOADER STACK ERROR
The internal loader stack area, used for "stacking" of the register values and local variables for the loader subroutines, is filled. Contact Norsk Data A.S.
LINKING TABLE FILLED
The linking table is filled. There is no way to expand this table, so the load operation or the source programs must be changed before they may be loaded.
RT DESCRIPTION TABLE FILLED
The system's RT description table is filled. No more RT programs can be loaded before an existing RT program is removed by the command DELETE-PROGRAM, or a new SINTRAN III system with more RT descriptions is installed.
SEGMENT VIRTUAL ADDRESS OVERLAP SEGMENT:
The output segments use some common addresses. The segments are the current link and load segments.
Page 100¶
ILLEGAL BRF CONTROL BYTE, BYTE: \<value> CURRENT LOAD ADDRESS: NN \<address>¶
An illegal BRF control byte is read from the input file. The byte has the given \<value>. The address is the current load address when this byte is read. This error may, for instance, be caused by an error in the source program, an error in the BRF input file, or erroneous reading from, for instance, the tape reader.
CURRENT LOAD ADDRESS SET OUTSIDE VIRTUAL ADDRESS AREA¶
The value given to the current load address is outside the available address area on the current used page table. This error may only occur in loading of MAC or NPL BRF programs.
ZERO RELATIVE ADDRESS¶
A too old version of a compiler is used. The source program must be recompiled with a newer version of the compiler.
COMMON AREA \<name> EXPANDED, OLD SIZE: \<old size>; CURRENT SIZE: \<new size>¶
The common area with the output \<name> is already defined with the \<old size>, and it is now trying to be defined with the \<new size>.
COMMON LABEL: \<label> SPECIFIED BY THE "SET-SEGMENT-COMMON" COMMAND, BUT NO "SECOND SEGMENT" IS DEFINED¶
The common area \<label> should be placed on the second new segment (the segment specified in the second NEW-SEGMENT command in a load operation), but no such segment is specified.
REFERENCE TO UNDEFINED COMMON LABEL: \<label>¶
There is a reference to the undefined common \<label>.
NO PRIORITY IN: \<rt program>¶
There is no priority specified in the RT program named \<rt program>. The RT LOADER gives the RT program the priority 1.
\<rt program> REPLACING?¶
The \<rt program> is already loaded, and it is now trying to be loaded again. If the operator answers YES, then the loading will continue, and the previously loaded \<rt program> will be replaced by the currently loaded \<rt program>.
DOUBLE DEFINED SYMBOL: \<symbol>; CURRENT LOAD ADDRESS: \<address>¶
The \<symbol> is already defined when a new definition of it occurs in the BRF input stream. The value of the current load address is \<address> when the second definition of the symbol occurs.
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 101¶
CHECKSUM ERROR CURRENT LOAD ADDRESS: <address>¶
There is a checksum error in the BRF input file. The current load address is <address> when this error occurs.
VIRTUAL ADDRESS AREA FILLED SEGMENT <number>¶
The address area of segment <number> exceeds the available address area of the currently specified page table.
DATA REF OUTSIDE COMMON AREA: <variable> ; DISPLACEMENT: <displacement>¶
A program trying to give value to a COMMON variable with a DATA statement, but the address relative to the start of the common area, the displacement, is greater than the common area size.
ERROR IN ACCESSING <file name>¶
This error message will follow a file system error message, to explain which file was accessed when the error occurred.
LOADING AREA AND RTCOMMON AREA OVERLAPS¶
There is an address overlap between the RTCOMMON area and the available loading area on page table 1. This is due to an error in the system specification.
ERROR IN SOURCE PROGRAM¶
Trying to load a program in which the compiler or assembler has found a fatal error. Correct the source program and recompile it.
TOO BIG PRIORITY IN <rt program>¶
A too big priority, i.e., greater than 225, is specified in the <rt program>.
SEGMENT TABLE FILLED¶
The segment table is filled. No more segments may be loaded before any of the existing segments are deleted by the CLEAR-SEGMENT command.
RTCOMMON AREA FILLED¶
The address area specified as the RTCOMMON area is filled.
NEGLECTION REFERENCES?¶
This question will be printed if any undefined symbols exist in the linking table when the END-LOAD command is given. If the answer is YES, then the END-LOAD function is executed, else the RT LOADER is waiting for a new command.
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 102¶
RTFIL-BUFFER FILLED¶
The RTFIL table is filled with symbols for existing segments. The PARTIAL-CLEAR-RTFIL command may be used to delete symbols from the RTFIL table.
BIT-TABLE-OVERFLOW¶
The bitmap table of the segment files is too small. Reduce the size of the segment files.
THIS COMMAND IS NOT ALLOWED NOW¶
This error message may occur in the following commands:
NEW-SEGMENT
- two new segments already specified
- RT LOADER is in "image load" mode
WRITE-SEGMENTS
- RT LOADER is in "image load" mode
CLEAR-SEGMENT
- RT LOADER is in "image load" mode
RELEASE-SEGMENT
- RT LOADER is in "image load" mode
SET-SEGMENT-COMMON
- RT LOADER is in "image load" mode
SET-RTCOMMON
- RT LOADER is in "image load" mode
WRITE-RTFIL
- RT LOADER is in "image load" mode
DUMP-SEGFILE-BITMAP
- RT LOADER is in "image load" mode
SET-SEGMENT-FILE
- RT LOADER is in "image load" mode
SET-PAGE-TABLE
- RT LOADER is in "image load" mode
ND-60.051.08
Scanned by Jonny Oddene for Sintran Data © 2021
Page 103¶
BINARY-DUMP¶
- RT LOADER is in "image load" mode
- RT LOADER has a segment specified as current load segment
PARTIAL-CLEAR-RTFIL¶
- RT LOADER is in "image load" mode
CHANGE-RT-DESCRIPTION¶
- RT LOADER is in "image load" mode
LIST-FREE-SEGMENTS¶
- RT LOADER is in "image load" mode
DELETE-RTFIL-SYMBOL¶
- RT LOADER is in "image load" mode
COMPARE¶
- RT LOADER is in "image load" mode
- RT LOADER has a segment number specified as current load segment
REORGANIZE-SEGMENT-FILE¶
- RT LOADER is in "image load" mode
- RT LOADER has a "current load segment"
Page 104¶
I'm sorry, but the page is blank, so there's no text to convert to Markdown.
Page 105¶
SEND US YOUR COMMENTS!¶
Are you frustrated because of unclear information in our manuals? Do you have trouble finding things?
Please let us know if you: - find errors - cannot understand information - cannot find information - find needless information.
Do you think we could improve our manuals by rearranging the contents? You could also tell us if you like the manual.
Send to:
Norsk Data A.S
Documentation Department
P.O. Box 25 BOGERUD
N - 0621 OSLO 6 - Norway
NOTE!¶
This form is primarily for documentation errors. Software and system errors should be reported on Customer System Reports.
| Manual Name: | Manual number: | ||
|---|---|---|---|
| Which version of the product are you using? | |||
| What problems do you have? (use extra pages if needed) | |||
| Do you have suggestions for improving this manual? | |
|---|---|
| Your name: | Date: | ||
|---|---|---|---|
| Company: | Position: | ||
| Address: |
| What are you using this manual for? | |
|---|---|
Page 106¶
I'm sorry, I can't extract any text from this image. It appears to be too faded and unclear.
Page 107¶
I'm sorry, but I can't read the text from this scanned image. If you can provide the text content, I'll be happy to help convert it to Markdown format.
Page 108¶
I'm unable to convert the image content directly as it primarily consists of design elements and does not contain any text relevant for conversion to Markdown.