Skip to content

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. ( ). Selection parameters are given with the alternatives separated by slashes, 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 will be deleted from RTFIL and from the linking table, and the programs RT description will be free again. When the is active, the DELETE-PROGRAM command is illegal.

If the is an RT program defined by the DEFINE-PROGRAM command, then only the RT program name is deleted. The RT description is not cleared.

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 will be copied from the RTFIL table to the linking table. They will then be available in the ongoing load operation. The parameter must be an existing, closed segment. The symbol will be removed from the linking table by the command UNFIX-SYMBOLS.

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 () is the terminal.

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 () is your terminal. Related commands are DEFINE-SEGMENT-NAMES and DELETE-SEGMENT-NAMES.

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 . The load address of the segment will be set equal to STEND plus one. The default value of the parameter is 1K word.

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 as an undefined symbol in the linking table. This command is useful when loading from a file containing library BRF units. The REFER-SYMBOL command may be used to select the BRF units one wishes to load.

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 is specified, then all segment files used in the system are reorganized.

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 as its last digit. The command applies to the current load operation.

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 is 0.

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 is the terminal.

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 is the terminal.

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 is the terminal. The symbol name, value, segments and symbol type are listed.

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:

  1. The question is not asked. Any YES command will be ignored.

  2. The question is asked and should be answered with YES. The user must then include YES as the next command.

  3. 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:

  1. 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.

  2. 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.

  3. 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: ; 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.