Digital PDFs
Documents
Guest
Register
Log In
XX-68BD8-BC
May 1973
220 pages
Original
7.4MB
view
download
OCR Version
6.8MB
view
download
Document:
04 1973AsmRef link-10
Order Number:
XX-68BD8-BC
Revision:
0
Pages:
220
Original Filename:
04_1973AsmRef_link-10.pdf
OCR Text
~643- DEC-10-ULKMA=-A-D DECsystem=-10 LINK=10 PROGRAMMER'S REFERENCE MANUAL This document reflects the software as of Version 1. -644- LINK~10 1st Printing May 1973 COPYRIGHT (E) 1973 by Digital Equipment Corporation The material in this document is for informational purposes and is subject to change without notice. software the Actual distribution of in tliis specification will be described to be subject to terms and conditions announced at some future date by Digital Equipment Corporation. DEC assumes no responsibility for the reliability of its software on use or equipment which is not supplied by DEC. The software described in this manual is furnished to purchaser under a license and for use on a single computer system can be copied (with inclusion of DEC's copyright notice) only for use in such except as may otherwise be system, provided in writing by DEC. LINK-10 ~b645LINK=10 TABLE HE e ® [ ] [ J [] [ ] [ [ ] [ ] * VU RWN R Chapter 1 INTRODUCTION e . N = N Input Chapter 2 to TO OF CONTENTS LINK-10 LINK-1l0 651 651 652 653 654 655 656 656 657 Relocatable Code Symbols and Libraries Output From LINK=10 Overlay Facility Miscellaneous Features Initialization of LINK=10 Using LINK-=10 Automatically Using LINK-10 Directly AUTOMATIC USE General Command COMPIL Switches Specifying SAVE and OF LINK-10 Format Disk Areas SSAVE Other Than SYS System Commands COMPIL Examples Summary o o o o o Chapter 3 USING LINK-10 LINK-10 Command Strings Changing Defaults AW e o & 0 s @ & ¢ & O e BWWWwWwWwwwNn WLOWWWWwwwwww Chapter LINK-10 Switch Algorithms Device Switches File Dependent Switches Output Switches Immediate Action Switces Delayed Action Switches Switches LINK-~10 4 661 662 667 668 669 673 that Create Implicit File Specifications Switches LINK-194 _ 676 678 679 680 681 682 683 684 684 685 SWITCHES /BACKSPACE 691 692 /COMMON /CONTENTS /CORE /COUNTER /CPU /DEBUG /DEFAULT 697 698 700 701 703 705 707 /DEFINE /ENTRY iii LINK-10 -646- LINK-10 /ERRORLEVEL /ESTIMATE /EXCLUDE /EXECUTE /FOROTS /FORSE /FRECOR /GO /HASHSIZE /INCLUDE /LOCALS /1LOG /LOGLEVEL /MAP /MAXCOR /MPSORT /MTAPE - /NOINITIAL /NOLOCAL /NOSEARCH /NOSTART /NOSYMBOL /NOSYSLIB /0TS /PATCHSIZE /REQUIRE /REWIND /RUNCOR /RUNAME /SAVE /SEARCH /SEGMENT /SET /SEVERITY /SKIP /SSAVE /START /SYMBOL /SYMSEG /SYSLIB" /SYSORT /TEST /UNDEFINED /UNLOAD /VALUE /VERBOSITY /XPN /ZERO 774 iv -647- LINK-10 LINK=10 Chapter 5 LINK-10 MESSAGES 775 Chapter 6 LINK-10 EXAMPLES 803 S dde LW N Appendix A Link Item Types 0-37 . | Link Item Type 400 FORTRAN Link Item Type 401 FORTRAN Link Item Types 1000~1777 Appendix B GLOSSARY LINK ITEM TYPES LOADER AND LINK-10 DIFFERENCES 816 828 829 829 843 849 -649- LINK-10 LINK-10 FOREWORD Thié manual is the reference document on the Linking‘ is aimed programmer and Loadef, intermediaté-ievel LINK-10. It applications DECsystem-10 at the contains cémplete aocumentation on LINK-10, including descriptions of the LINK Item Types generated by the DECsystem-10 Translators. Chapter 1 is an introduction to LINK-10 and describes the two methodé discusses fhe of initializing the Linking—Lbader. automatic use .of COMPIL-class - commands, and LINK~=10 Chaptet 2 through the Chapter 3 diScuéses the direct use of LINK-10 through the R LINK system comniand. LINK=-10 sWitcfies are described in alphabetical order in Chapter 4. LINK~-10 messages and examples appear in Chapters respectively. supplementary The Appendices and Giossary 5 and contain information. A beginning user of LINK-10 can benefit from this manual reading _6, by Chapters 1 and 2, whereas an advanced user would be more intérested in Chapters 3 and 4. eniploying the LOADER program will A user has been find Appendix B a valuable aid in the transition to the LINK—lO program. vii who -651- LINK-10 LINK~10 Input to LINK-1g CHAPTER 1 INTRODUCTION TO LINK-lO, the pfogram DECsystem-10 that merges Linking this input Loader, is the system independently—translated modules program into a sindle'module, iink LINK=-10 Its main function is of to utility a user's prepare and with other modules reéuired by the user into a form that can be executed by the operatind system., l.1 INPUT TO LINK-10 LINK-lO accepts’as its primary input the output from the translators in order to produce an executable version of the user's program. This output, known as object modules, binary files which cohtain the user's information generated by the transiators. is in the form programs and additional for generating l.1.1 auxilary output of This additional information is necessary for linking separately-translated modules, and DECsystem~10 such as map, log, for debugging, and save files. the module's Relocatable Code Most object modules contain relecatable position code in core can be determined by LINK-10. so that Relocatable code is a benefit to both the user and the system. ‘The user benefits because he is able to code al; of his modules without regard to where be located in core. He need not be concerned with the iocation one module ends and another one begins., When moving the relocatable 1-1 where The system benefits because a module wriffien in relocatable code can be placed anywhere memory. they will object modules into the in core areas of -652- LINK-10 LINK-10 Input to LINK-1¢ core mernory at which relocatable addresses they will be executed, adjusts LINK-10 all the modules into actual machine locations. in In reality, LINK-10 places the modules in a user virtual address space to the Glossary) and the operating system, as it schedules the (refer usage of the system, transfers thé modules to and from core memorye. However, for simplicity, the user virtual address space is referred to as core memory in the remainder of the manual. 1.1.2 Symbols and Libraries In addition to relocating LINK-10 is also and responsible modules required for execution. through the use of symbols. loading for the linking wuser's object modules, these modules with other are Linkages among modules provided By including symbols in his programs, the user is delaying the assignment of actual values until time. load This.method of assigning values is advantageous because: . of It allows the user to change only the definition the symbol instead of changing every occurrence of the value, and . Only the module containing the definition of must be retranslated when a change occurs. l to it at are bound modules using the symbo they do not have to be retranslated. Although a user can define and use a symbol entirely within module, he usually other modules. program for Since other load time, a single refers to additional symbols that are defined in It is these modules that must be linked to the execution. In most wuser's cases, these required modules are contained in a library of relocatable binary programs. a the symbdl Modules within library can either be created and translated previously by the user -653- LINK-10 LINK-10 Output from LINK-1¢ or be part of the system's repertoire of programs. higher-level commonly-used routines. For instance, most languages have associated with them a library containing mathematical, The user input/output, refers to modules and in the data library via his program and these symbols are then linked to the in the 1library modules themselves. By conversion symbols proper in 1location 1linking these symbols and loading the required modules, LINK-10 provides communication between independently-translated modules and library routines. Ih order to satisfy any undefined symbols, the required system libraries are usually searched after'all loading specified by the user has-been performed. searched the at a particular appropriate Chapter However, the uSer can indicate that libraries switch 4). When point to in LINK-10 LINK-10 the loading procedure (refer to processes /SEARCH the by and switch, specifying /SYSLIB the does the has the option of not want) loaded specifying by name which modules from a library or of inhibifiing in indicated libraries are séarched and the required modules are loaded. also be The user he wants (or search of the library altogether. 1.2 OUTPUT FROM LINK-10 When LINK-10 has modules in performed core, the bringing in tasks of and linking loading the any other modules for execution, and adjusting all the addresses, there is executable version the output primary reflects the of of state the user's LINK-10. of program. Since the user's the wuser's This loaded core memory, in executable object required core an version is program at this it is point usually referred ~654- LINK-10 LINK-10 Overlay Facility to as his core image. Having arrived at this state, the can user request LINK-10 to either: immediate for Transfer control to the core image execution (using the EXECUTE or START system commands, or . the /DEBUG, /EXECUTE, or /TEST switches in LINK-10), or Output the core image to a device for storage (using the SAVE or SSAVE system commands, or the /SAVE or /SSAVE switches in LINK-10) in order to avoid the loading . procedure in the future. If the complete, loaded program is saved on a the GET and RUN system commands). since repeated be the contained in the core image. the in image core it can be brought into core and executed at a later time (using form, to device modules that made wup The loading process does results of all of LINK-10's actions are However, if the user his core have not wishes to revise image, he must once again use LINK-10. While the primary output of LINK-10 is the executable version user's program, of the the user can request auxilary output from LINK-10 in the form of map, log, save, symbol, and expanded core image files (XPN This additional output is not automatically generated by files). LINK-10 and the user must include the appropriate switches this output (refer to obtain to Chapter 4 for a description of the switches). This output is for the user's convenience when debugging his program. 1.3 OVERLAY FACILITY LINK-10 will have an overlay facility to be used when the required by a program total core is more than the core available to the user. The user then organizes his program so that only some parts of the LINK-10 _655LINK-10 Miscellaneous Features program are required ih core at any one time and the remaining parts are transferred in and out of core. During execution, these t;ansferred parts are brought into core as required. The part brought Because these into core overlays the part currently in that area. pérts of the program reside in the same area of core at different times, the amount of core required for the entire program is reduced. 1.4 MISCELLANEOUS FEATURES LINK~10 has a large number of options in order that the user can gain precise control over the loading process. The user can set various lpadihg parameters and can control the loading of symbols and modules. By -éetting sWitches jin his input command strings to LINK-10, he can speéify the core size of LINK-10 modules, the start address of modfileé, the siée of the symbol table, the messages that he will see on his terminal or in verbosity log his the messages. of file, and the severity level and He can control the loading of modules by épecifying the modules that should be loaded and the files that should for symbol definitions. He has control over the number of be searched Segments to be allowed and tfie éegment into which the symbol table will be placed. The user has control over file specifications that LINK-10 examines to He can accept the LINK-10 determine device names and filenames. defaults for components in a file specification or he can set his own defaults WHich will be uséd automatically when he omits a component ffdm his command string; and assign DECtapes. protections He can also position devices, allocate space to output files, and clear directories of LINK-10 _656- LINK-10 Initialization of LINK-1g / Some options producing available a core symbols defined ask for a to the image, user LINK-10 in other modules list of undefined has opportunity then 1.5 INITIALIZATION OF LINK-10 LINK=10 is initialized - by the 1.5.1 through the the user of all to loading without the process requests of for interactively procedure. The reloading. two ways: use of the This is the most LOAD, EXECUTE, common or usage of Using LINK-10 Automatically system commands automatically LOAD, COMPIL~-class commands the of actions accept construct including the and the LINK-10. EXECUTE, because new translators to the does LINK~10 not they typed command user issues one of the DEBUG. These commands are known as use COMPIL program to by since the the and strings it command interactively processes the the and LINK-10. user Once or the translators string pass to LINK-10. wuser initiated when DECsystem-10 command convenience strings the one satisfy the them In Directly through the use of the R LINK system command. This is recommended for very large and relativ ely complex loading procedures. is a in commands. system allows define user to during DEBUG LINK-10 to and Automatically LINK-10. - to interactive. attempts symbols user the are user, to This saves LINK-10. system job it, from typing to COMPIL command the is the and is command processed, translators strings is programs, action taken by COMPIL communicate with appropriate COMPIL's interpret various him string control passed or to -657- . LINK-10 LINK-10 Initialization of LINK-10 it by COMPIL and supplies intelligent defaults for ahy paramet ers not specified by the user. terminates the if_LINK—lO obtéihs an error condition, it loedz and returns control to the oberating system for further instructions. OtherWise, it ieads the program and, on cbmmand,useé; either exits or sterts the loaded the COMPIL~-class program. Refer to Chapter 2 for the descriptiOns and depending use of the In general, the extremely fine control of the loading process that is COMPIL-class commands ., provided by manually running LINK-10 user because 1.5.2 the COMPIL supplies for reasonable the average defaults to Using LINK-10 Directiy Direct use of LINK-10 complex program is not required programs, is useful for those who are developing large and loadiné from devices other than disk, manipulating symbol tables for cdmplex debugging situations, and perform ing segment manipulations. The user runs LINK=-10 directly by using the LINK-10 responds with an asterisk which system command indicates that 1loading process. the exit condition; LINK=-10 accepts at which point input until it finishes the user all of LINK. the user type his input as a seriee of specifications which are to be the R its wused can in specifies tasks and its full eXits or begins the program, as specified by the user. This method of running LINK-10 gives capability. The user does not the have user to access to accept LINK-10's default - LINK-10 -658- LINK-10 Initialization of LINK-1§ conditions, but can supply his own set of defaults. He can interactively monitor the loading process by setting internal parameters, requesting values of particular items, specifying modules and files to be 1loaded, and controlling the format and contents of output files. Refer to Chapter 3 for the description of the LINK=-10 command string, and Chapter 4 for the switches used when directly running LINK-10. LINK-10 ~659LINK=-10 Automatic Use of LINK-1¢ CHAPTER 2 AUTOMATIC USE OF LINK-10 The user causes tINK-lO to be rufi automaticaily whenever he types the LOAD, EXECUTE, and system commands. DEBUG These commands accept a simple command string format and are converted internally to a series of more complex command strings that are directly processed by various systen programs,‘including aforementioned commands language are translators used +to compile, LINK-10. . The and load, and execute prograns, to obtain output in the form of maps, to search files in library search mode, and to invoke the various debugging aids. The following paragraphs describe each of these system commands. ‘NOTE The information in this chapter is a subset of the ‘material available on the LOAD, EXECUTE, and DEBUG commands. The subset presented here assumes that the source files have previously been translated, and thus only the switches directly applicable to loading the reference . Complete listed. are ‘£iles binary documentation on the COMPIL-class commands, their valid command formats, and all available switches can be obtained from the appropriate command descriptions in DECsystem=10 OPERATING SYSTEM COMMANDS, DEC-10-MRDC-D, located in the DECsystem-10 SOFTWARE NOTEBOOKS the DECsystem-10 USERS HANDBOOK, DEC-10-NGZB~D. The LOAD command translates relocatable object modules modules to form a‘coré image. and in the user-specified source files into (if necessary) and loads these object This command does not cause execution of .the rgsulting core'image. After completion of this command, the user can either execute his program (START system command) or save the core image (SAVE or SSAVE system command) for future execution. LINK-10 -660- LINK~-10 Automatic The: Use EXECUTE is the LINK-1f commmand necessary), addition, of loads translates the object begins execution of same as the user-specified that of modules into the program. a source core files image, The action of (if and, this in command the LOAD command followed by the START system command . The DEBUG command necessary), translates loads the the user-specified object modules for debugging by additionally 1loading Usually this is program and the COBOL Upon debugging locations. program out This However, his of than a core system first, by the is loading, followed debugging loaded control the user's program by examining begins and during and by program. the user's are being (e.g., loaded, the user's transferred so and modifying to the that the the contents occur if (if prepares program after is program, execution files debugging examination and modification can execution image, when COBOL programs program) completion rather a loaded required debugging program, -check program information table). (the program, can other symbol COBDDT debugging into source the both user wuser of before specifies breakpoints in the program at which execution is to be'suspended. The debugging program can be COBDDT, MANTIS, first source file in the command string. or DDT, depending on the If the first file is a COBOL file, COBDDT file is a FORTRAN source file, MANTIS (the FORTRAN debugging program) is loaded. (the COBOL debugging program) (Note that MANTIS is under the copditional switch which is normally off. must turn this assembly switch on for 2-2 is the loaded. control If of the an first assembly Therefore, the installation loading of MANTIS.) If the -661~ LINK-10 LINK-10 General Command Format first file is any other file, DDT (the Dynamic Debugging Technique) is loaded. When the first file has previously been compiled (i.e., the file has 'afi extension of .REL, meaning relocatable binary object module), COMPIL does not determine the type of source file from which came so DDT is loaded with the binary files. In this case, if the user desires COBDDT or MANTIS, he must explicitly specify this it debugging program via the appropriate switch (refer to the /COBOL and . /MANTIS switches in DECSystém-lO OPERATING SYSTEM COMMANDS) 2.1 GENERAL COMMAND FORMAT The LOAD, EXECUTE, and DEBUG system commands command format. the have general same They all accept a list of file specifications. LOAD output file spec = concatenated input file specs EXECUTE output file spec = concatenated input file specs DEBUG output file spec = concatenated input file specs An input or output file specification consists of filename with or without enclosed in square brackets. a a extension, filename Only one output file device and name, a a directory specification can be given on the left of each equaiS'sign, but any number of input file specifications can occur on the right. Input file épecifications are separated from each other by commas or plus signs. If commas are used, ,the translator produces separate felocatable object modules for each output file. If plus signs are used, the input files separated by plus signs will be translated module. Plus signs into a single relocatable object must be used when a collection of files must be LINK-10 -662- LINK=-10 COMPIL Switches concatenated to produce an The of "output file be sequence given repeatedly in a acceptable spec = command module as input concatenated string by to input a translator. file specs" separating each can sequence with a comma. The output file which case on the the object module disk with -.REL. a name file, input the has input file output more commas, than from in the file. If is input the the 2.2 COMPIL SWITCHES file Switches can be strings in user name the sign can the user's source If file the user given the name of file and included on listings, obtain be either file loader temporary be omitted, in default directory and the has the the only input files extension are one. file. input If the separated by LOAD, EXECUTE, its preceding switch applies to subsequent switch. 5pace comma. all It is processing. libraries, Each the file the immediately separate the output separating separated create maps. to signs files permanent. cannot a in plus of or commas) Or to has given series to direct LINK-10 generate to specifications. one input the equals is Placed derived file last and the the name of each output file is the name of the corrésp onding specifications, to and The filename given to the output file dépends upon the form of the user's user specification switch to it. preceded the following separated from and the it name switches are used by a libraries, slash and (including switch. it the command switch applies file of signs., user wuntil file DEBUG search Characters and the plus These A temporary filename files is by is the A‘ can only to spaces or permanent modified by a precedes by a LINK-10 -663LINK-10 COMPIL Switches Chapter in described switches LINK-10 3 the on passed be can COMPIL-class command strings by preceding the switch épecification with a 8 character instead of a / character. Following the % character is the LINK-10 switch specification preceded and followed by must meaning to the COMPIL program, an For example, the @ character indicates file, and the semicolon causes the remainder of command indirect The recommended the line to be treated as a comment and thus ignored. delimiter is The beginning and single or double quote character. a ending delimiter user the that the character he uses does not have a specific careful _be however, The delimiter can be any character; a delimiter. must the be character. same A LINK~-10 switch specification consists of the switch name and optionally a keyword and a value. (Réfer The items in the to Chapter 4 spécifidation vare for the formats switches.) Note that LOADER switches of separated by colons. individual LINK-10 the (those beginning with a % but without enclosing delimiters) are'il;egal when passed to LINK-10. As if an aid to users, a warning message is printed the delimiter as is one that could be Since the first function of each interpreted of these three LINK-10 switch a LOADER switch commands is to determine if +the source files need translating'(i.e., compiling or assembling), there are many switches that pertain to the translating process. The purpose of this manual is to describe the use of LINK-10 and switches pertaining to the translation of the source file are not LINK-10 - -664- LINK=10 COMPIL Switches included. All described in switches that DECsystem=10 can be OPERATING placed on the command string SYSTEM COMMANDS. NOTE Since currently DECsystem=10, there are the when using the LOAD, time, the present two user must linking-loaders indicate the EXECUTE, or DEBUG LOADER program is the user must include the /LINK switch that he wishes to use the LINK-10 program. of the LOADER program as the default that installations.) standard can In the be COMPIL Switches Loads first file setting system by individual become Pertaining Loads object the of files in object applies of of This to the is a all its position new FORTRAN string. system) system) switch affects string. regardless (the instead of FORSE. files file with FORSE time extension it file with FOROTS time the Loading the that switch affects FORTRAN Loads to in the command in the command the 2-1 switch subsequent /FORSE indicate (The is a LINK=10 will DDT regardless permanent /FOROTS to default. Table /DDT changed future, the loader command. At the the default case, and parameter on desired only. (the o0ld FORTRAN instead of FOROTS. FORTRAN files This only. This are -665- LINK=-10 _ Table COMPIL /LIBRARY Switches The is 1is to The of to use recommended complement Loading identical switch. switch . (Cont) Pertaining action /SEARCH /LINK 2-1 LINK-10 that of of the since /SEARCH it is the /NOSEARCH. Causes the files to be loaded by the p;ogfam the instead of LINK-10 the LOADER program. If used, this switch must be piaced before any file specifications explicit) to /LMAP Produces a local /LOADER | | implied since the COMPIL program generate process .(either load=-control 1loader (same as have switches. map during action may or /MAP) the loading containing the symbols, Causes the file to be loaded by program the LOADER instead of the LINK-10 program. Since this is- £he current default action, this switch is installation'has needed specified default linking-loader. LINK~10 will become /MAP Produces a process. symbols. . loader load The map When this map is if LINK-10 1In a future the as the release, the standard default. map during does not the loading contain local switch is encountered, requested 2=7 only from LINK-10. a After LINK-10 -666- LINK-10 (Cont) Table 2-1 COMPIL Switches Pertaining to Loading the iibrary search libraries, the the of system default map is written in the user's the disk area with the filename specified by user (e.g., /MAP:dev:file.ext[directory]) or last seen program (where nnnLNK.MAP number) if switch is a start address or with Jjob wuser's the is nnn the of (e.g., the name the default filename This there is no such program). exception an the to permanent switch rule in that it causes only one map to as appear be produced even though iF may a permanent switch. /NOSEARCH file Loads all routines of the routines is the default action, this only to turn off (/LIBRARY or /SEARCH). to equivalent Since this referenced or not. are the is used search mode is not switch of switch 1library This the whether switch /NOSYSLIB LINK-10, which does not search any libraries, including the default system libraries. /NOSEARCH default is to search the The default system libraries. /SEARCH Loads the files in library search mode. mode causes a module This in a special library file to be loaded only if one or more of its _667- LINK-10 LINK=-10 Specifying Disk Areas Other Than SYS Table 2-1 (Cont) COMPIL Switches Pertaining to Loading declared global are entry symbols request. always satisfies an undefined The default system searched regardless libraries of the state of this switch. 2.3 SPECIFYING DISK AREAS When translating his OTHER THAN SYS source selecting the obtained. The disk areas are NEW, the and disk area user's files, from the which [1,3] the for OoLD, the user is on has the 1language [1l,4] option of translator is for sys, {1,5] for area for DSK and are specified by the switches /OLD, /SYS, /NEw; and /SELF, respecti#ely. described user (These fdur switches are in DECsystem-10 OPERATING SYSTEM COMMANDS.) For example, if is the translating his OLD disk source area of files with a FORTRAN compiler [1,3], that he gives the following command string: COMPILE/OLD FILEA.F4,FILEB.F4,FILEC.F4 The FORTRAN compiler The first disk area is seen then obtained from area in the command &hich LINK-10 is obtained. string [1,3]. is also the area from Thus, in'the command string: LOAD /LINK /OLD FILEA.F4,FILEB.F4,FILEC.F4 not only is the FORTRAN cofipiler obtained from LINK-10 not area, first 1linking=-loader, then disk switch), may the LINK-10 SYS disk area of area seen only the areas include If a user [1,4] is is library in (LIB), 2=9 also However, the specified if the (as indicated by the /SELF the user's are but found on the searched. is the user's area specified OLD, job searched. search The list, which searching does LINK-10 -668- LINK=10 SAVE and SSAVE System Commands not continue onto the NEW, using a copy of a translator copy of For OLD, LINK-10 and SYS areas. in his Thus, a user disk area but who does in that area must use two disk area who is not have a specifications. example, LOAD /LINK /SYS /SELF FILEA.FOR,FILEB.FOR,FILEC.FOR LINK~10 from is obtained the user's all disk from the SYS disk area and disk area. specifications other disk areas only when he is 2.4 SAVE AND After SSAVE loading output is device onto command is used, loaded into (if any) of the specified loaded device needs from his for to compiler LINK-10 on specify two area. program may be written When the format of one or two nonsharable SSAVE command files. when is used, two commands is an outpuf: the core If it the the SAVE is the high be sharable when the program the onto future date without system commands as the program will be command the user translator The SAVE and SSAVE core, SAVE a searched it can be executed at some the program will The general SELF, be FORTRAN SYSTEM COMMANDS so that the than using completed, rerunning LINK-10. image Since SYS will the is later segment loaded. same: dev:file.ext|[directory]core SSAVE dev:file.ext[directory]core where dev: is the name of the device on which to write If omitted, DSK: is assumed. file is the name of current name SAVE, SSAVE or is the used. system saved This file. name command, is the 2-10 If set by last the saved file. the job's omitted, the last command R, RUN, which GET, ran a -669- LINK-10 LINK-10 COMPIL Examples program (e.g., DIRECT), or the last SETNAM UUO. .ext is the extension of the low segment file. If following extensions are assigned: If the program has assigned., one segment, If the program has two segments, the extension .LOW, and .the extension .HGH when a SAVE extension command is used and extension If omitted, is the area in which to save the file. core is the amount of core in which to save omitted, the minimum required is assigned. to DECsystem-l0 OPERATING is the the user's default directory is used. Refer .SAV the the low segment file has high segment file has the «.SHR when a SSAVE command is used. {directory] the omitted, SYSTEM the COMMANDS program, for If complete descriptions on the SAVE and SSAVE commands. 2.5 In COMPIL Examples the following example, executing a MACRO program, the user is translating, 1loading, The /LINK switdh requests that the LINK~10 linking loader be used instead of the LOADER. EXECUTE /L INK MACRO$ SIMPLE LINKY LOADING SIMPLE,MAC CEXECUTION] . THIS IS A VERY SIMPLE EXIT and ) TWOeSEGMENY MACRO PROGRAM, -670- | LINK-10 LINK-10 COMPIL Examples In the example below, the user is compiling, three COBOL generation of programs, a map The loading, /MAP:PROGMP.MAP and switch executing requests the file with the name PROGMP.MAP. JEXECYTE /L INK /MAPIPRQGMP FILA F[ B F.C D COBOLt CBS@BA EEILA-CEHJ coBoOL! CBS@AB C([FILB,CBL] coBOLt CBS@PAC L[FILC,CBLJI LINK} LOADING EEXECUT]IONI RUNNING CBS@8A RUNNING CBS@8B RUNNING €BS@8C EXIT The map file is now on the user's disk area. with the following He can command: APRINT PRQGMP ,MAP ) YOTAL OF 3 BLOCKS IN LPT REQUEST The following is a listing of the map file generated. 2-12 print the file m8PNHWVOOogTy"ads8II6NN7331WW499133%SSs-0SSL£iMedYv@Li2iS§'e4t21L3yy73yAMIspN6m3€2%}S8IOON0NN1333OLdvL3LV¥V)A34B8gvs0Yae182lv0HMiI"OON3NONy33YT£L%ud¥9Yg*52ytLYJ“vUaTdvBo4E)df0yu)Siene2ut((CMIyvwwiloadzand)) §106H a«mgOn<:Lyun%pIN<TkmLa4ASSIV40mu4 dio0y4d bob1 AHIN3 IN1Od V0 3 398Y DNRERGBR . tt#ttt# Lev2ti2949y COMPIL PP 30ve 0mOM IN3WM0o'9OW4N3Y3W3i9GszLnDIN0!vNH5iLH1ISIduKN¥@OAILs33RTS$sS3Iu2N34w01IVNa;sYv0m%yO«N".Wa1Esm0pT18tWNi-AOvtSgISpHJ§g9NOYIzONWAtW3-24(G90UA2DtV8i)SvO3N0N37O93L9NV2I£4EHx%«iHIxO4@EuNV2o3SRmYZTLMVvAeONs§O3eTTYspI2GpZI®e8Ag2203C"W(WIVD430AY)»o6(IYW1030) velsa)dWo¥3Y14t 03.1v3u2A@1080NO dY®2Z£H Lyg0(y2is -671- 2-13 LINK-10 LINK-10 Examples XTY)132 #RUOREARIRBLG 8gns8d Examples COMPIL -672LINK-10 LINK-10 ABigeie Lv £4%wd¥"2 ND 0800 AB Q34V3HD EGEZ'42393y DT1divs0 Wo¥s O82843 2-14 -673- . . LINK-10 LINK=-10 Summary 2.6 SUMMARY The LOAD, EXECUTE, described and DEBUG in Table 2-1, programs. The user debugging programs, are can system commands, sufficient for 'load obtain mode, and execute the program. loading search switches and executing most separately-compi;ed maps, the | programs and files in a 1ibrary search his core user can employ the system commands SAVE and SSAVE. More image, the complex loading as described along with procedures in Chapter 3. To produce a saved file of can be performed by directly using LINK-10, _675- LINK-10 LINK-10 Using LINK-1¢ CHAPTER 3 USING LINK-10 The user runs LINK-10 directly by issuing the system command R LINK LiNK-lO responds with an asterisk at which point the user types in his command stringé. typed by the user up to the end of string is The .LINK-10 program the interprets all of the input command A command defined as a series of characters terminated by a carriage retfirn—line feed., user depresses A carriage return~line feed is generated the .RETURN key on his termihal. represented in this manual by the Symbol J. continue string. a command If when the The RETURN key is the usér needs to string on another line, he can place a hfphen as the last non-blahk, non-comment character .before the carriage return~line feed. Confiinuation lines afe considered part of the current command string, terminated until a preceding hyphen; 'commenfi with and the carriage current return-line string is not considered feed is seen without a Comments may bé édded to any line by preceding the a semicolon. Trailing spaces and tabs (including those before comments) are always ignored. When the command string the command string is terminated, LINK-10 processes the in by pefforming the actions specified by the user. This usually entails setting relevant internal conditions and information data fof later use. stqring Each command string is completely scanned and processéd before LINK-10 accepts a new one. After scanning and LINK-10 -676- LINK-10 Command Strings processing the current asterisk signifying accepts command command string, its readiness string LINK-10 returns with another to accept more input until the user input. gives the switch (/GO) indicating that LINK-10 is to finish all At this given point to control the 1loaded preceding command 3.1 LINK-10 Command is either returned program for to The exit condition loading the operating execution, program depending tasks. system or upon the strings. COMMAND STRINGS strings to LINK-10 contain a series of input and/or output file specifications and non-conflicting'switChes to direct the loading process. The general *output Any number of command string format is as follows: specifications=input specifications specifications can be included in the command string by separating each specification fiom other specifications with a comma. Aithough the equals sign is not required, it is recommended thatr the user include from his input ones. must use a comma specifications with the (e.g., it so that he can distinguish his output specifications to are If the user does separate and input specifications switches the is in specifications. specifications specification consists of the form after an equals The type of can precede output appearing before and/or specification include then distinguished by the specification, An input or output the not a the file input sign, and he output switch associated can appear in any order specifications). file specification specification. and A file -677- a LINK-10 LINK-10 Command Strings dev:file.ext[directory] and the individual described When in Chapter items initial in a file values default values as switches that can be used in the command string are 4. specification are missing, to be used as defaults. assumed LINK=10 has a set of On input specifications, the for missing items in a file specification are follows: Device Filename Extension Directory On output DSK: A blank filename «REL The user's default directory specifications, the default values are as follows: Device DSK: Filename Name of the last program containing a address. If there is no program with a address, user's Extension. the Dependent on requested via Log file Map file Saved file Symbol file Expanded save file Directory name nnnLNK, job number, the where type of switches. the in a output the file « LOG «MAP «SHR, .HGH, . SAV, ., LOW «SYM « XPN The user's default directory. device and file, and afie used only‘if the user has not given values for items in a file Specificafiion. items is - These defaults are applied just prior to initializing the opening nnn is used. start start file The initial LINK-10 specification are used only when a value defaults for the for item -678- LINK-10 LINK=-10 Changing Defaults does not appear in the command string or until the value is seen if it is after the beginning of the string. filename, the If a component of a file specification is given before it remains in effect until changed bya value given subsequentiy by end the command the of name at the specify a device can a user example, For string. until or the user for the same component beginning of the string and not have to repeat the device name for the same device for all device name each using is he if specificétion However, once the specifications in the command string. is changed, the name new is used as the default device for the reaminder of the command string. As another example, the user can specify an extension and a directory to be used by issuing a command string such as % BIN[10,7] DSKB:FILl,DSKC:FIL2.REL[10,20],DSKA:FIL3 J extension .BIN and the directory for any specifications that do not include an extension or directory. The The [10,7] are used above command string is equivalent to *DSKB:FILl.BIN[lO,?],DSKC:FILZ.REL[IO,ZO],DSKA:FIL3.REL[10,7] P 3.2 CHANGING DEFAULTS The /DEFAULT switch is used to change assumed when the user does not the initial include a values component that of are a file specification in his command string. The values specified with this LINK-10 -679LINK-10 Switch Algorithms switch remain in effect for the entire load unless changed by another /DEFAULT switch. The form of the /DEFAULT switch is as follows: components of file specification /DEFAULT : keyword where components of file specification are the components the user wants as his default components. which keyword is either INPUT or OUTPUT to change the default components for the input or output speciflcatlons, respectively. If this argument is omitted, INPUT is assumed. For example, the following specification DSKB: .BIN[10,20]/DEFAULT changes the values to be used as defaults for the input specifications to be DSKB: for the device, .BIN for the extension, and [10,20] for the directory. NOTE Because the extensions for output files depend upon. the types of file being requested, the user cannot change the output extenSLOns. Any attempt to do so is 'ignored. 3.3 LINK-10 SWITCH ALGORITHMS LINK-lO allows.the user to request various loading parameters via switches in the command string. Switches afe used to specify output files, to set defaults, to control the loading of programs, to} set valués, to format maps and symbol tables, to request values of syfibdls, and to positibn devices. Some switches merely change the status of LINK-10 by setting ‘internal values; others request immediate LINK-10 -680- LINK=-10 . Switch Algorithms action to be taken., LINK-10 has several for the handling . File Dependent . Output . Immediate Action . Delayed Action . Switches that Device within after or before the the or is after current Switches Switches create implicit and (e.g., output the file file specifications input it is /SKIP, the if or /REWIND) specification. is after Switches output If the action the file is taken category apply only to and do not carry over to the again unless either switch appears taken before in this once device its position, filename, specification In other words, not performed is the the The switch is in effect read or written. it appears affect depending on appropriate action is processed. subsequent devices. performed, are: Switches initialized and, filename, file categories algorithm Switches input processed, after These specific Switches category the device before switches with a Switches in this an of each category. Device Switches the of . 3.3.1 is categories requested another action device switch by the user: given. For example, the following specification may /SKIP:2 MTAl:MYFILE/UNLOAD, be given is is -681 - LINK-10 LINK=-10 Switch Algorithms After the magnetic tape is initialized, LINK-10 skips forward over two files (/SKIP:2), reads the file called MYFILE, and after reading the file, rewinds and unloads the tape (/UNLOAD). File Dependent Switches 3.3.2 Switches belonging to this cétegory (e.g.,/NOLOCAL, /SEARCH) modify the loading or the contents of a file. These swifiches are either temporary or permanent in naturé. A £Emporary switch applies only to the file specificatidn immediately preceding it. An intervening comma cannot separate the file spedification and the switch. A permanent switch appears' before the file spedification and appiies to all file specifications following it until modified By a subsequent switch or until 'the end -of the current command string is reached. (Remember that continuation lines are considered part of the :current command This string). means that permanent file-dependent switches, unlike device switches, continue to apply to following specifications the action requested by (i.e., switch is not terminated at the comma the which separates specifications). For example, the following specifications may be issued by the user: »/NOLOCAL DTA3:MAIN1,MAIN2,MYLIB/SEARCH, Two files, MAIN1 and MAIN2, are loaded in without their local symbols. their entirety from DTA3 The file MYLIB is searched and parts of it are loaded only if required (i.e., they are required to satisfy any undefined local symbol symbols. requests); if needed, they are also loaded without LINK-10 e LINK=-10 Switch Algorithms 3.3.3 Output Switches in Switches this category (e.g.,/MAP, /LOG, output devices and create the output files. must contain output one files represents a output switch these unless specific specification one of to type be and both LINK-10 does not create to so. Each switch requested output file used with filename are the with each item appearing from the LINK-10 defaults if because and do is used with Only only example, Eaéh output specification indicate the device and filename of the file. the For of the file can device name and explicitly initialize a switch is switches /SAVE) output specification. in the output If the specification, the specification or taken from the previous for output. user desires the name a saved OUTPUT, file he and can a map issue file on the following DSKB: specifications: DSKB :OQUTPUT/S , /MAP= AVE The two the files will have extensjons will separating files LINK-10 are the two for /SAVE, /MAP= same be different switches desired. defaults the If output is the filename (OUTPUT) but, (refer to Paragraph required user is to indicate by 3.1). that default, The comma two output satisfied with accepting specifications, he can give the the following LINK-10 -683LINK-10 Switch Algorithms NOTE output Although the /LOG switch is consideredtly andiffe rent sligh a 1in ed switch, it is handl By switches. fashion from the remaining output name e befor LOG al logic the e devic a assigning 1log the ves recei user the initializing LINK-10, if he file on the device assigned as inLOG,hisevencomma nd h switc /LOG the de does not inclu file log the with iated string. The filename assoc number. is nnnLNK.LOG, where nnn is the user's job 10 LINKthe in used be then can h The /LOG switc command string to change the filename of the 1log file. For example, .ASSIGN DSKC:LOG: . R LINK J *DSKC: MYLOG/LOG J) K.LOG to renames the log file on DSKC: from nnnLN assigned, not is e devic al MYLOG.LOG. If the logic s when the then the building of the log file begin This results in the is seen. switch /LOG the initialization timings not being included in file. Immediate Action Switches 3.3.4 M) Switches in this category (e.g.. /UNDEF, /VALUE, /NOINITIAL, /NOSY hes are are processed by LINK-10 as soon as they are seen. These switc divided into two types: . , . Those that request typeout from LINK-10. of the loading procedure. Those that change the status Type¥out switches (e.g., /UNDEF) request information from LINK-10 are not dependent upon a particular specification. and For this reason, a they can appear anywhere in the commahd string but are usually on ely command line by themselves because the user is interactiv to requesting information to determine if he may have forgotten specify needed parameters. After processing the switch (i.e., at the LINK-10 -684- LINK-10 Switch Algorithms end of the command immediately. string), LINK-10 returns the requested information Once the information is returned to the user, the switch is cleared. Status changing entire loading procedure are placed the in action switches the to (e.g.,/NOINITIAL, and command not to an string at the be performed. Once /NOSYM) are individual point at to once generate a the user local gives symbol table, switch to LINK=-10 to nullify 3.3.5 Delayed Action Switches Switches in this operational switch is is category parameters seen, needed. which the action has this value needs to 3.3.6 immediately expand S8Switches Switches in its this create one loaded along with related to or the input the in user taken, it They wants is overridden. to notify the to the same load, in For LINK-10 a preset value Use of are used specified the value but does is the been /MAXCOR,/HASHSIZE) loading. not give a to change values. not use When it until the it for the maximum core the /MAXCOR switch not examine the value changes until it size. Create category more cannot, but LINK-10 does core that there switch the action. LINK~-10 LINK-10 accepts LINK-10 can occupy during /NOSYM he this (e.g., of For example, the to specification. effect for the entire loading process and cannot be example, related Implicit File (e.g., file user's implicitly /DEBUG, Specifications /SYSLIB) specifications program and specified to file. for cause programs set various As an LINK=10 that other must to be switches example,‘the /DEBUG -685- LINK-10 LINK-10 LINK-10 Switches " switch indicates subsequent that a debugging program is modules are to be loaded otherwise specified by the user. before the file with 1If one of be 1loaded local these and symbols, switches that unless appears specification; the program implied by the switch is loaded before the currenfi file. .If specification, to the program is the éwitch loaded after is after the current the file. file Once the progtam implied by the switch is loaded, the sfiitch is cleared. 374 LINK~-10 Switches SWITCHES to LINK-10 have one of the following forms: /switch /switch:arg /switch: (arg,...,arq) /switch:value /switch:arg:value /switch:(arg:value,...,arg:value) where /switch is the name of thé desired switch. truncated to characters uniqueness. arg is a of keyword truncated value is either can be is the to ) unique the or a name a unique This name abbreviation. are symbol The sufficient name. abbreviation. to Keywords can first be six ensure can be a decimal or octal number. An octal value a switch that accepts decimal values by preceding the octal value with a number sign (#). used with separator between specification is given. ( a components and must be present if more are used to enclose multiple keywords a switch. They are required if more appears with the switch., 3-11 in a switch than one item and/or values to than one argument -686- LINK-10 LINK=-10 LINK-lfl Switches NOTE For the keywords specification. be This mdltiple LINK-10, first release of cannot specified in a single switch means that the user must a space; issue a switch specification for each desired /CONTENTS : /CONTENTS : LOCAL Gkeyword RELOCATABLE). This restriction will be removed in a later release of LINK-10. Each switch specification must be terminated with spaces however, cannot appear within a switch specification (i.e., between the slash and the end of the value). Table 3-1 briefly describes the switches LINK-10 command string, and Chapter that 4 used on contains the complete descriptions of the switches in alphabetical order. 3-12 ‘the be can LINK-10 -687LINK-10 Table 3-1 LINK-10 Switches Switch Meaning /BACKSPACE Spaces /COMMON Allocates a COMMON area. /CONTENTS Specifies the types of symbols /CORE ‘Specifies LINK=-1l0's initial /COUNTER Lists the relocation counters ’ : /CPU /DATA /DEBUG or /D backwards over specified number of files. the to be output in a map. low segment size. and their wvalues. Specifies the processor which the program will run. Loads defined constant on data. This switch is not implemented in Version 1. Loads and specifies execution of a debugging program. for Changes default values /DEFINE Assigns values to /ENTRY Lists library search symbols. /DEFAULT missing components specification. in a file undefined global symbols interactively. /ERRORLEVEL suppresses Selectively messages to the terminal. /ESTIMATE Allocates disk /EXCLUDE Inhibits /EXECUTE or /E Specifies execution of the program upon completion of loading. output file. the space for loading specified modules. an of LINK-10 -688- LINK-10 Table 3-1 LINK-10 (Cont.) Switches Switch /FOROTS Meaning Loads FOROTS, if required, during default system library searching. : /FORSE Loads FORSE, if required, during default system searching. /FRECOR Specifies the amount core guaranteed library of free after each expansion. /GO or /G Terminates the loading progress. /HASHSIZE /INCLUDE Specifies the global symbol Forces the specified library. /LOCALS or /L /LOG size of the loading of table. modules Loads with local Causes log a from a symbols. file to be the log generated. /LOGLEVEL Suppresses messages to file. /MAP or /M | Causes a map file to be generated. /MAXCOR /MPSORT Specifies LINK-10's low segment core size. Sorts the output to symbol the map /MTAPE Performs functions. /NOINITIAL Clears symbol /NOLOCAL or /N Loads without /NOSEARCH Turns mode. maximum table for file. magnetic tape the initial tables. global off user local symbols. library search -689- LINK-10 LINK-10 Table 3-1 (Cont.) LINK~-10 Switches Switch /NOSTART Meaning Ignores starting addresses. /NOSYMBOL Inhibits the generation : symbol /NOSYSLIB table Prevents in a of search of default system libraries.- /0TS Indicates the segment for object time Allocates patch space. /REQUIRE Generates global requests /REWIND /RUNCOR specified Rewinds the magnetic tape. the the system. /PATCHSIZE the a core. for symbols. DECtape or Assigns the initial segment core low size the for program. /RUNAME /SAVE Assigns the program name. Causes a saved file to be generated. /SEARCH or /S /SEGMENT Turns mode. on user 1library Specifies the segment load the modules. search in which to /SET /SEVERITY Defines the values relocation counter. of a Defines the fatality level of errors. /SKIP Spaces forward on a magnetic tape. /SSAVE Causes a sharable saved file to be generated. /START Specifies the start address of a /SYMBOL program, Causes a symbol generated. file to ' be -690- LINK-10 Table 3-1 (Cont.) LINK-10 LINK-10 Switches Meaning Switch /SYMSEG /SYSLIB Moves the symbol table to the of the specified segment. Performs a search default system libraries. /SYSORT Sorts the symbol table output to the symbol file. /TEST Loads a debugging program. /UNDEFINED or /U Types undefined global symbols on the terminal. /UNLOAD unloads and Rewinds DECtape or magnetic tape. /VERBOSITY text of Specifies the amount to be printed for a message. /VALUE of values current Lists the the specified global symbols. /XPN Creates or saves the core image file. /ZERO Clears the directory. 3-16 specified for the expanded DECtape -691- LINK-10 LINK-10 Switches CHAPTER LINK=-10 4 SWITCHES /BACKSPACE Function The /BACKSPACE . specified switch number tape devices and of is is used files. ignored for to This space backwards over the switch has an effect only on non-tape devices. Switch Format /BACKSPACE:n n is a decimal backspace over. Category of number If n is representing omitted, n=1l the is Switch Device Switch (refer to Paragraph 3.3.1) ,MTAO:/BACK: 3, Backspace MTAO by three files. number assumed. of files to -692- LINK-10 LINK=-10 Switches /COMMON Function The /COMMON switch is used to allocate an area of storage of specified size before loading any more code. the An array of storage (a COMMON area) is reserved into which data can be placéd in order it that be shared by several programs and routines. may Because the FORTRAN language contains a statement that reserves space for a COMMON area, this switch is used to reserve COMMON arrays when different loading area size size than given programs or to allocate a via the COMMON statement in a However, if this switch is used to FORTRAN program. larger non-FORTRAN allocate a of the same name as that given in the FORTRAN area before the The name of each labeled area of COMMON storage is defined as an program, the switch specification must be given FORTRAN program is loaded. whose value is the address of the first word of symbol internal the COMMON area. external These symbols may be used by other prcgrams as of the symbols, Switch Format : name:n /COMMON Name is the symbolic name of up to six SIXBIT characters COMMON area. ".COMM.". Blank COMMON is designated with the symbolic name LINK-10 -693LINK=-10 Switches n is a decimal number representing the size of the area in words. Restrictions Although various modules may redefine COMMON areas name, the size area Therefore, the largest definition must be loaded first. size of a COMMON area by redefinition error. This the same of a COMMON area cannot be increased during the loading process. " COMMON of applies a given - Any attempt to increase the will result in a fatal to both modules defining COMMON areas and the /COMMON switch. Category of Switch Immediate Action Switch of (refer to Paragraph 3.3.4) Examples /COMMON: , COMM. 31000 Allocate blank COMMON to be 1000 words. LINK-10 ~694- LINK-10 Switches /CONTENTS Function The /CONTENTS the map switch gives file be included by allowing in the file. the user control over the contents of him to to Each symbol the translator that processed Some symbols may be may be both a of global specify more than symbol and the module one a both /CONTENTS BEach the GLOBAL type. cleared ‘clear set by a symbols to its type by containing the symbol. For relocatable the of example, symbol. file, the symbol To insure user RELOCA?ABLE keywords the by of the second keyword the /CONTENTS must in the is cumulative; first specification are not automatically specification. set switch in a previous If the wuser desires specification, explicitly specify its complement. NOTE This a switch. specification keywords and types is marked as the inclusion of such a symbol in the map specify the switch does not produce a map file. must specify the /MAP switch on an specification in order to obtain the file. The user 'output Unless the /MAP is given, the /CONTENTS switch has meaning and is ignored. ' : 5 Switch Format /CONTENTS : keyword /CONTENT : (keyword,. S . ., keyword) no he to must LINK-10 -695- LINK~10 Switches Keywords are as ABSOLUTE follows: include all absolute accumulators, and NOABSOLUTE. ALL ' COMMON DEFAULT (usually flags, Complement of symbols masks) . . include all symbols. Complement of NONE. include _ symbols. NOCOMMON. all COMMON : Complement of lnclude the symbols accordlng to LINK-=10's default setting, that is: COMMON, GLOBAL, ENTRY, ABSOLUTE, RELOCATABLE, NOLOCAL, and NOZERO. This keyword is used to reset the /CONTENTS switch to the original default setting. : ENTRY GLOBAL - include all entry name include all global gymbols , NOENTRY. ' ENTRY' with - symbols. Complement _ ’ including COMMON of and symbols unless these symbols are suppressed the NOCOMMON and NOENTRY keywords. Complement of NOGLOBAL. LOCALS ‘lnclude all local symbols. NOABSOLUTE do not include absolute symbols ' the Complement of NOLOCAL. (i.e., turn off Complement Of Complement of condition corresponding to absolute symbols). Complement of ABSOLUTE. NOCOMMON do not NOENTRY do not 1nclude entry name symbols. COMMON. include ENTRY. NOGLOBAL ’ COMMON ' . symbols. . ‘ do not include global symbols including COMMON and ENTRY symbols unless these symbols are requested with the COMMON and ENTRY keywords. Complement of GLOBAL. NOLOCAL do NONE do not include any symbols of any kind. ' NORELOCATABLE not LOCALS. header include - local information Complement of ALL. ’ = is ° symbols., o still : of However, output in the map. do not lnclude relocatable symbols. RELOCATABLE. Complement Complement of LINK-10 -696- LINK=-10 Switches NOZERO do not include Complement of RELOCATABLE include symbols addresses). ZERO include symbols that from files)., the /CONTENTS COMMON , When added the For to example, condition ENTRY, the user default if for the RELOCATABLE, specifies setting user symbols in However, reset setting the default Category of or issues default setting. length programs. relocatable length modules zero but switch is not specified, GLOBAL, NOZERO. are zero A which defines symbols Complement of NOZERO. If zero (usually Complement of NORELOCATABLE. symbols parameter from ZERO. a deleted the zero ABSOLUTE, from the their one code. setting keyword is the default length programs is no is NOLOCAL, /CONTENTS:ZERO the keywords ALL, to generates the default keyword, (usually length module and either setting. switch, the added the is NONE, and to DEFAULT respective meanings. Switch /CON ZERO, TENT /CON : LOCAL, : Include in the map 1local symbols and symbols to from the types of symbols length modules, in addition LINK-10's default setting. zero in -697- LINK-10 LINK=-10 Switches /CORE Function The /CORE low switch is used to specify segment, MAXCOR Generally, (the maximum specified in the will be assigned. core, this size of /CORE size LINK-10's switch However, the initial is low size of LINK-10's 1less than segment). or If is greater than MAXCOR, the next time LINK-10 needs equal the to size the core to expand the size will be reduced to MAXCOR. Switch Format /CORE:n n is a decimal number 'core size for LINK-10. it with a number sign or that représents 512 words respectively. Category of (a If initial 1low segment An octal value can be given by preceding (#). N is expressed in units of 1024 words page) K or the P by is following omitted, K the (1024 numbex with K or words) is P assumed. Switch Immediate Action Switch (refer to Paragraph 3.3.4) Examples /CORE: 17K Specify segment, 17K words as the initial size of LINK-10's low ~698- LINK-10 LINK~10 Switches /COUNTER Function to output to the undefined counters, the length of code depending on them. is counter relocation depending counter the on that 1loading can be resolved. counter is stored on the disk until the is defined. Although LINK-10 is designed to handle an counters relocation to low segment counter (.LOW.) number of relocation counters, and the high segment counter (.HIGH.). These counters are listed in a initial and indefinite provide efficient program construction, the first release of LINK-10 only uses two the When a not known, a count of the amount of core used by the counter is kept so Code the terminal initial and current values, and for their counters, relocation used is The /COUNTER switch map file with final values. Switch Format /COUNTER Category of Switch Immediate Action Typeout Switch (refer to Paragraph 3.3.4) their -699- | LINK=-10 Switches Examples /COUNTER RELOCATION COUNTER +HIGH. INITIAL VALUE 400000 CURRENT VALUE 400010_ LINK-10 -700- LINK-10 LINK-10 Switches /CPU Function processor on The /CPU switch is used to indicate the central which the program will run once it has been loaded. Switch Format /CPU: keyword KAlO Keyword is either KAl0 or KI1l0. If the keyword is omitted, is assumed. If the /CPU switch is omitted, the machine on which the program is loaded is assumed. category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples /CPU:KI10 Run the program on the KI1l0 processor. 4-10 =701~ | LINK-10 LINK=-10 Switches /DEBUG Function The /DEBUG switch is used to load a debugging program and to specify that execution of the loaa will begin at the normal start address of the aebugging program instead of the The debugging programs available are DDT, user's MANTIS, program. and COBDDT. This switch does notlcause terminagion of the loading procedure, the /GO switch is needed for not used for execution when the /DEBUG The /DEBUG switch causes it to be in effect string Note file dependent, in which that the use of the /LOCALS local symbols for the remainder of switch. However, and local switch is is given. the since symbols mode mode and load unless the /NOLOCALS it is cleared at the end of it appears the /LOCALS The /EXECUTE switch turns on the load with overridden by the /NOLOCALS switch is termination. the command is reinstated. switch is also file dependent; therefore, switch and the implicit use of the /LOCALS switch in the /DEBUG switch context have different results (i.e., the /LOCALS string switch is cleared at the end of the command and the loadlwith local symbols mode implied by‘the /DEBUG switch is not). The /DEBUG switch debugging /LOCALS program switch. does to not cause be loaded, the 1local regardless of symbols the of state of the the LINK-10 -702- LINK~10 Switches _Switch Format /DEBU : keyword G Keyword is one of the following: MACRO, MANTIS. When COBDDT, a compiler or the debugging aid associated with that example, if MACRO COBOL, the assembler translator is is FORTRAN, specified, used. For is specified, the loading of DDT is implied. If the keyword is omitted, DDT is assumed. Category of DDT, | Switch Creates an implicit file specification »/DEBUG:DDT DTA3:FILEA.MAC, 4-12 (refer to Paragraph 3.3.6) -703- - LINK-10 LINK-10 Switches /DEFAULT Function The /DEFAULT switch is used to change LINK-10's initially-assumed values for compoments specificatxon is in miss;ng the form in a file specificatxon. A file dev:file. ext[directory]. The 1nitia1 defaults for input speclfications are DSK:.REL {user's default directory) and for output specifications are DSK:name of main program.ext dependent on output file Thus, any [user's default di:edtory]. the user cannot change attempt to do so Values specified via entire type of is the extensions of output files, and ignored. the /DEFAULT switch are loading process or until the user in effect for the issues another /DEFAULT switch. Switch Format /DEFAULT: keyword Keyword for is input either and INPUT or OUTPUT output to specify specificatiops, keyword argument is omitted; default respectively. INPUT is assumed. Category of Switch Immediate Action Switch (refer to Paragraph 3.3.4) 4-13 conditions If the -704- LINK-10 LINK=10 Switches DSK:MAIN,/DEFAULT .BIN([10,7], Load the file MAIN,REL from the user's default directory of the disk and then change the input defaults to load .BIN files from the [10,7] area of the disk. -705- LINK-10 LINK=10 Switches /DEFINE Function n The /DEFINE switch is used interactively by the user to assig global values to undefined global symbols in order to satisfy ined requests before LINK-10 terminates the 1load with undef list syhbols. The user can employ the /UNDEF switch to obtain a h to of the undefined symbols and then use the /DEFINE switc satisfy the requests for these symbols. Switch Formats /DEFINE:symbolsvalue /DEPINE: (symbol:value, . . . ,Symbol:value) Symbol is the name of the symbol to be defined. If the name given 1is one of an alreadyfdefined symbol; the user receives an error message. l. An value is the decimal number to be associated with the symbo octal value can be given by preceding it with a number sign (#). LINK-10 -706- LINK~10 Switches Category of Switch Immediate Action Switch Examples */UNDEF ) 1 UNDEFINED SYMBOL NOW 400123 */DEFINE:NOW:897 ) */DEFINE:OCT: #1234 (refer to Paragraph 3.3.4) _707- | ~ LINK-10 LINK-10 Switches /ENTRY Function The /ENTRY switch is used to type out ail library search (i.e., entry points) switch is given. conditioh set that processed that symbols have been loaded up to the time the These symbols are recognized by a specific in the first word of the symbol by the translator the module containing the symbol. The user defines symbols as library search symbols with an ENTRY statement in a fiACRO-lO or BLISS~10 module, with a SUBROUTINE, FUNCTION, or ENTRY statement statement This in switch in a FORTRAN module, or with a SUBROUTINE a COBOL module. is useful for the future overlay facility of LINK-10. Switch Format /ENTRY Category of Switch - Immediate'Action_Typeout Switch Examples * /ENTRY J) Library Search Symbols SQRT. 3456 (refer to Paragraph 3.3.4) -708- LINK-10 LINK-10 Switches /ERRORLEVEL Function The /ERRORLEVEL switch is used to messages to the user's terminal. selectively suppress Associated with each message a decimal number from 0 to 31 called the message level. switch, the user is Via this can decide that messages with a message level less than or equal to a specific number are not to be his terminal. LINK-10 output to A user would normally want to suppress informative messages rather than error messages. level, the more serious the message. message level of The higher the message Refer to Chapter 5 for the each LINK-10 message. Switch Format /ERRORLEVEL: n n is a decimal number from 0 to 30. Messages with a message level less than or equal to n will not be output to the terminal. Note that a message with a level of 31 cannot be suppressed. this switch, or the value of the switch, messages are is omitted, suppressed. Category of Switch Delayed Action Switch /ERRORLEVEL: 10 (refer to Paragraph 3.3.5) If informative -709- LINK-10 The /ESTIMATE switch is uséd to reserve disk space for an output LINK-10 Switches /ESTIMATE Function file and must be associated with an output Because each occurkence of the switch allocates one specification. space for only file,. the user must issue an /ESTIMATE switch for each file that needs space reserved. This switch is not required for space allocation file, but its use can both help the user for an output stay within his quota allotment and reduce the number of (RIB) pointers associated with the file. Switch Format /ESTIMATE:n n is a decimal number representing the estimated number of blocks of 128 words of the output file. A warning message is given if LINK=10 fails to éllocate the requested size, If this given, switch space is omitted, or if an insufficient is allocated automatically as needed. 4-19 estimate is -710- LINK-10 LINK-10 Switches Category of Switch Output Switch (refer to Paragraph 3.3.3) DSKC:OUTPUT/MAP/ESTIMATE: 50, /SAVE/ESTIMATE: 200, Allocate 50 blocks for the map file and 200 blocks save file. 4-20 for the -711- - LINK-10 LINR-10 Switches - /EXCLUDE Function The /EXCLUDE switch is used to inhibit modules in a file when idading (either search or nonsearch mode). the loading of certain the file in the current mode This switch is useful when the user is searching a library file and definitely knows he does not want certan modules, even thouéh his the nafies of these modules. program may reference For example, if a library file has Several modules with the same library search symbols (e.g., as in dummy routifies) and the user wants to load a module other than the first ohe, he can use this switch to prevent the loading of the_ modules not desired. Another use of the /EXCLUDE switch to satisfy global symbol definitions during library searching is by excluding the modules that would éause multiply-defined symbols. Switch Formats /EXCLUDE : symbol /EXCLUDE: (symbol, . . ., Symbol) Symbol is the name of the module. | LINK-10 _712- LINK-10 Switches Category of Switch »/SEARCH LIBFIL.REL/EXCLUDE: (MOD1,MOD2), Search the file LIBFIL as a library from +the modules MOD1 and MOD2 referenced. the 1load but do not even if they are file, LINK-10 -713LINK=10 switches /EXECUTE Function The /EXECUTE switch is used to specify that the loaded program is .fio be staffiéd at the ndrfiél entry §oint.(1.e.; the start address) upon completién'bf'lbadifig.f This SWitcfi doés not cause the términatién of loadifig; the /GO switch is needed to terminate loading. The /EXECUTE and /DEBfiG switches cannot be ised together because one switch spédifies execution of the useér's program (/EXECUTE) and the other switch épecifies execution of the debugging program (/DEBUG). Switch Format /ExECUTE Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) ¢ : Examples /EXE 4-23 LINK-10 -714- LINK=10 Switches /FOROTS Function The /FOROTS FOROTS, switch is used to instead is then loaded, system of FORSE, for specify the = object time system use with FORTRAN programs. FOROTS if required, when LINK-10 searches the default libraries. Switch Format /FOROTS Category Creates of an Switch implicit file »/FOROTS DSK:MAIN,SUB1, specification (refer to Paragraph 3.3.6) -715- LINK-10 LINK-10 SWitches /FORSE Function The /FORSE FORSE, switch is used instead is thep loaded, of FOROTS, to specify the object time system for use with FORTRAN programs. FORSE if required, when LINK-10 searches the default systém libraries. Switch Format /FORSE Category of Switch Creates an impiicit file specification (refer to Parégraph 3.3.6) Examples +DSK:MAIN.F4/FORSE, -716- LINK-10 LINK~10 Switches /FRECOR Function The /FRECOR switch guarantees core will segment. users remain after LINK-10 expands not need However, when monitor modules), areas around During the this the modules loading a switch being larger loaded process because in core as the global boundary, and the loading to to tries less table for maintain will not low is 2K, modules. have (LS), (GS). and between (e.g., in a to is If than MAXCOR If the move size expanded the area Each area has actual the times. and be area (FX), a upper and lower boundary. actual upper boundary However, to sum of expand the size of specified an mnaximum for to an amount as the limit) free upper expansion 1large the the area amount of the required required (the user code fixup an can the user's the boundary the that segment LINK-10 may have input. core five areas high boundary at all areas minus FRECOR. becomes greater area actual upper than FRECOR, its large These areas are: space upper the user's all quite sizes. boundary, procedure progresses, the most has area to maintain maximum between boundary table a maximum upper accomodate core is symbol core LINK-10 (LC), the user's symbol loading in free often. loading procedure, local free of of FRECOR will result LINK=-1l0 low segment code area the of are amount initial LINK~10 specific areas when expanded beyond their (HC), specified amount Since LINK-10's default amount do faster that the enough low segment or CORMAX -717- LINK-10 LINK-10 Switches (the system limit) allows, core is obtained from areas. When all of the the no further expansion is attempted and free free space space has recovered been by obtained, some of the above-mentioned areas must overflow to that overflow to free core is not maintained when areas the Shfiffling disk. or all Note the disk. Switch Format /FRECOR:n n is a decimal number representing the number of core rounded the value of to the next 128-word multiple. this switch, is omitted, 2K words /FRECOR: 3K 4-27 of free If this switch, or is Delayed Action Switch (refer'to Paragraph 3.3.5) Examples words assumed. LINK-10 -718- LINK-10 Switches /Go Function The /GO switch is used to terminate the loading the only terminatioh switch available. /GO switch, searches it finishes default loading libraries suppressed with the /NOSYSLIB output files, and (if process and is When LINK-10 executes the the current this action has not produées the requested switch), specification, been either exits to the monitor or runs the core image produced depending upon the switches appearing in the input command strings. If the /DEBUG switch has execution begins at the normal start address of debugging program. specified, execution begins at the normal start user's program. LINK~10 exits If the /EXECUTE been specified, the appropriate or /TEST switch has been addpess of the If one of these switches has not been specified, to the monitor. Switch Format /GO ’ Category of Switch Immediate Action Switch (refer to Paragraph 3.3.4) -719- LINK-10 LINK-10 Switches /HASHSIZE Function The /HASHSIZE switch is used to Specify the initial size giobal symbol table. fhe hashsize for the symbol table. by a user who knows before loading used by the LINK-10 uses the lowest prime number in its internal list that is greater than or equal symbols of his program to the given value as This switch can be employed that is thé going to number be of quite global large. By séttinq the hashsize of the symbol table to a larger number, user can expanding save pINK-lO the hash table. REHASHING GLOBAL indication that SYMBOL he LINK-10 Design and When the TABLE should beginning of subsequent symbol time Specification for user on use loads of space a the that would receives load, it /HASHSIZE be used the switch same programs. the hashing as an at Refer technique in message serves the the the to the used in of the tables. Switch Format /HASHSIZE:n n is a decimal global larger default symbol than size the number representing table. A total number (initially 127) the estimated hashsize recommended of global is an hashsize symbols in is a the assembly parameter. number load. 1/3 The -720- LINK-10 LINK=-10 Switches Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples /HAS:1000 LINK-10 uses the prime number 1021. -721- LINK-10 LINK~-10 Switches /INCLUDE Funtction The /iNCLUDE Switch ié used, when IOading a file in search mode, to force thé 1oadih§ of spééified modules in that file whetlier or not the user's pfogrém references fihem. doeé not For example, if the user have a giobal request for a desired module, he can use this switch to cause that module to be loaded. Alfihough the /INCLUDE switch is implemented primary use is for the . ., overlay in facility Version 1, its in order to call a module. Switch Format /INCLUDE: symbol /INCLUDE: (symbol, . symbol) Symbol is the module name of the desiréed module. Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) Examples »SYS:LIB40/INCLUDE: (SIN,COS,TAN), Search the library LiBéO, but always load the C0s, and TAN. , modules ' SIN, LINK-10 -722- LINK-10 Sswitches /LOCALS Function 1is The /LOCALS switch specified programs. 1load to used 1local with symbols the Local symbols are not processed by LINK-10, but are useful to the user when debugging. This switch does not cause local symbols to be saved as part requested by the /SAVE or /SSAVE switch. /SYMSEG switch or an entry in the the core image JOBDAT 1location of The .JBDDT is MYSUB, and required if local symbols are to remain in core. Switch Format /LOCALS Category of Switch (MYFILE,/LOCAL MYDATA,MYSUB,MYLIB, Load local symbols with MYLIB. the programs MYDATA, ~793% LINK-10 The /LOG switch is used to specify an output log file into which LINK-10 Switches /LOG Function LINK=-10 plaées information that is useful for the user when he is debugging his program. progress in loading This file is a report of LINK-10's the user's bymLiNK-lo are shown. place are also This program because a indicated. device the device. If file to running if the user recofded in a file on this the In this case, the /LOG switch merely causes to be renamed the user does file The file is named nnnLNK.LOG where nnn is user's‘job number. the log logical name LOG before running LINK=-10, Then all log information will be assigned taken The times at which these actions took switch is not required to obtain a assigné the actions to the user's specifications. not assign a device the LINK-10, (he must use logical name LOG prior the /LOG switch in order to obtain a log filé. 'However, any times ahd messages output before the the /LOG switéh;is seen in the command string will not appear in log file. Switch Format file specification/LOG File specification specify the is device in the form dev:file.,ext[directory] and name associated with the log file. to The -/24- LINK-10 LINK-10 Switches default file specification [user's default directory]. as the is DSK:name of main The user's terminal may be specified log device. Category of Switch Output'Switch LOG program. (refer to Paragraph 3.3.3) DSKB :MYLOG/LOG Create a log file on DSKB: with the name MYLOG. -725- LINK-10 LINK-10 Switches /LOGLEVEL Function The /LOGLEVEL switch is used to suppress LINK-10 messages user's log file. of messages This switch permits that are to appear in the to the the user to set the level log file. Refer to the the 1log messages 'output are /ERRORLEVEL switch and Chapter 5. If the log device file is determined by /ERRORLEVEL is output the user's the and 1lower to the user's terminal), of the with a low number allows because him the arguments /LOGLEVEL switches. the log device as the terminal terminal to (i.e., specified in the The user would rarely set the /ERRORLEVEL switch obtain all messages on the terminal. Switch Format /LOGLEVEL:fi n is a decimal number from 0 to 30; Messages with a message levei less than or equal to n will not be output to the log file. The user cannot suppress messages with a level of switch, or the value of the switch is omitted, 0 is assumed (i.e., 31l. this a message level of all messages are output to the log 4-35 If file). LINK-10 -726- LINK-10 Switches Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) to the log file Examples /LOGLEVEL: 5 Do not output any message level less than or equal to 5. with a message _797- LINK-10 - LINK-10 Switches /MAP Function The /MAP switch is used to consists of the types of /CONTENTS switch., debugging his program along specify output map £file which symbols requested by the user with the The map file is useful to the user when he program with is because it lists the symbols used by his their values. relocation counters with their also included an Header lengths and information (e.g., starting addresses) is in the map. Switch Format file specification/MAP:keyword File specification is in the specifies and name associated with the map the device default specification is form dev:file.ext DSK:name of main [directory] file. and The program.MAP [user's default directory]. Keyword is one of the following: END to produce a map file at the end of loading. ERROR to produce a map. file of the error occurs ({i.e.,an error code from 1loaded which if LINK-1l0 a fatal cannot recover). NOW to produce a map file at the time this keyword is seen. The map contains all of the information up to and including the last file loaded. Default libraries will not be searched unless specified. This keyword 1is normally used during debugging to determine how the load is progressing. If the /MAP switch is not issued by the user, no map file will be LINK-10 ~728- LINK-10 Switches generated. the keyword Category of If END the switch is is given, but the keyword is omitted, assumed. Switch Output Switch. Also, /MAP:NOW is an immediate action Examples DSKB :MYMAP/MAP Specify a map file on DSKB: with the name MYMAP. switch. -7/29- LINK-10 LINK-10 Switches /MAXCOR Function The /EAXCOR switch is used to spegify the maximum amount of core LINK-~1l0 will may use as its low segment while expand to this size if required and then disk, core rather size writes than expanding allowed. out part in core, loading. will when overflow it reaches When LINK-10 must overflow to or all of the LINK=-10 symbol area, the the maximum the the to disk, low code area, and/of the high core area in order that loading can continue. the current amount of specified by the user, core used is greafier than it If the size the next time LINK-10 requests more core, the sizé will decrease to the amount specified by the user and the remaining code will overflow to specified by the user LINK-10, he receives required. He is a should less disk. If the amount than the minimum amount required by warning then the message respecify indicating the the amount switch with a larger argument. Switch Format /MAXCOR:n n is a decimal number core size for LINK-~10. it with a number sign or (a 512 words ;espéctively. that represents the maximum low segment An octal value can be given by preceeding (#). page) N is expressed in units of by following the 1024 words number witb If XK or P is omitted, K (1024 words) is Kor P assumed. LINK-10 -730- LINK~10 Switches ?he default size is is dependent upon Category of all of available the code already user core. The minimum size loaded. Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples i v S G e e /MAXCOR: 30K Allow LINK-10 to expand overflowing to the disk. its low segment to 30K before LINK-10 -731LINK-10 Switches /MPSORT Function The /MPSORT switch is used to arrange the symbol table for output to the map file in the order most convenient to the user, Switch Format /MPSORT;keywordv ) o Keyword is one of the following: UNSORTED to print the symbols in the order in which they are placed in the symbol table. This keyword is the default. ALPHABETICAL to arrange the symbol order for each module or table for in each - alphabetical block in a block~structured module. NUMERICAL to arrange the symbol table in numerical order according to the values of the symbols for each module. NOTE - "For the first —release' of LINK=10, UNSORTED is the only keyword — implemented. The other keywords listed above are 1ignored and a warning message is output. Category of Switch Delayed A¢tion Switch_(refér to Paragraph 3.3.5) Examples MYMAP/MAP/MPSORT : UNSORTED Specify a map file with the name MYMAP and print the symbols in the order in which they appear in the symbol table. LINK-10 -/32- LINK-10 Switches /MTAPE Function The /MTAPE functions given in switch allows such as rewind, an input However, specification, the action has wuser to backspace, and specification, immediately. output device the been when the perform skip. the If action magnetic this switch is performed switch is is not performed and I/0 requested tape is part of an output until the initialized. Switch Format /MTAPE: keyword Keyword is one of the following: MTWAT to wait for MTREW to MTEOF to write MTSKR to skip MTBSR to backspace MTEOT to space MTUNL to rewind and unload the MTBLK to write blank MTSKF to skip one file. MTBSF to backspace one MTDEC to rewind spacing the an load point. record. to one the record, logical inches initialize ape. to finish, EOF, one 3 tape to of end-~of-tape. tape. tape. file. for Digital-compatible 9-=channel ~-733- LINK-10 LINK-~10 Switches MTIND to initialize for tape. Category Device of industry-compatible 9-channel Switch Switch (refer to Paragraph 3.3.1) Examples MTA@: /MTAPE : MTEOT/MAP Output of tape the map file to MTA@: after spacing to (i.e., to the first'frge block) . the logical end 734~ | LINK-10 LINK=10 Switches /NOINITIAL Function The /NOINITIAL switch is used to clear LINK-10's initial global This initial global symbol table consists of the symbol table. .JBxxx symbols in JOBDAT. (Refer to DECsystem~10 Monitor Calls of JOBDAT.) This switch is normally employed when the user is loading LINK-10 itself (in order to get the for a description when the user wants to load a private copy of JOBDAT in order to use new values, or when the user is latest copy of JOBDAT), loading a program (for the purpose of creating a core image file) that will eventually run as an exec mode program (e.g., the This switch must monitor, diagnostics, a bootstrap loader) . appear before the first file specification in the command string or else the initial LINK-10 global symbol table (JOBDAT) will be loaded. If the /NOINITIAL switch is specified, JOBDAT will be searched when the default system libraries are searched. Switch Format /NOINITIAL If this switch is omitted, LINK-10's internal JOBDAT area symbols are used as the initial global symbol table. -735- LINK-10 LINK-10 Switches Category of Switch Immediate Action Switch (refer to Paragraph 3.3.4) Examples: /NOINITIAL,COMMON,COMDEV,COMMQD,TOPSlO/SEARCH/GO Load the monitor without table. LINK-10's initial global . symbol Load the exec mode program without LINK-10's initial global /NOINITIAL, DTBOOT,EDDT/GO symbol table. LINK-10 -736- LINK-10 Switches /NOLOCAL Function The /NOLOCAL switch local symbols. is used to This load the programs without their is the default action. Switch Format /NOLOCAL Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) /LOCAL FIRST,SECOND,THIRD,FOURTH/NOLOCAL Load the programs FIRST, symbole and load the symbols. SECOND, and THIRD with their program FOURTH without its ' 1local local _737- LINK-10 LINK-10 Switches /NOSEARCH FunctionThe /NOSEARCH switch is used to (i.e., turn off library search mode to always load the.entire indicated file or files whether or not the files are required). detérmine if they are needed., a /SEARCH switch has The files are not searched to This switch is normally used after éet' libraxy search mode. This is the default action. Switch Format /NOSEARCH Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) PARTA,/SEARCH LIBMAC,LIBCBL,LIBFOR,/NOSEARCH PARTB,PARTC The files LIBMAC, LIBCBL, libraries. The files PARTA, their entirety. 4-47 and LIBFOR PARTB, are searched and PARTC are loaded ‘ as in -738- LINK-10 LINK-10 Switches /NOSTART Function The /NOSTART switch indicates to addresses in the LINK-10 binary input programs. to ignore all start The start address for the current program is not changed. Switch Format /NOSTART If this switch is omitted and more than one start address encountered, the last one seen is used. Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) Examples MAIN1,/NOSTART MAIN2,MAIN3 Start addresses are ignored in files MAIN2 and MAIN3. is 739- ' LINK-10 LINK-10 Switches /NOSYMBOIL, Functioh The /NOSfMBOL switch Signals LINK-10 not to construct a table of thé symbols used by:the user‘s program. This switch affects the speed of‘loéding_in that_LINK-lO'is nofi required to spend time in generating a symbol table for the user. If this switch is givén, the user is not able té obtain output symbol files or output map files be contaihing symbol 1istings. A map obtained,fiowever, with header information only. Switch Format /NOSYMBOL Category of Switch ' ' , Immediate Action Switch (refer to Paragraph 3.3.4) Examples /NOSYM 4-49 file can ~740- LINK-10 LINK-10 Switches /NOSYSLIB Function The /NOSYSLIB switch is used to inhibit the searching of of more the system upon libraries one or completion of the loading process. The system libraries required by the loaded modules are usually searched at the undefined global requests. modules, FORLIB for end of the load in order to satisfy These libraries are LIBOL £for COBOL FORTRAN-10 modules, LIB40 for F40 modules, and ALGLIB for ALGOL modules. Switch Format /NOSYSLIB:keyword /NOSYSLIB:(keyQord, « « oskeyword) Keyword is one or more of the following: ALGOL BCPL ‘ COBOL FORTRAN F40 NELIAC , to suppress the searching of ALGLIB. to suppress the searching of BCPLIB (not supported by DEC). o to suppress the searching of LIBOL. to suppress the searching of FORLIB. to suppress the searching of LIB40. to suppress the searching of LIBNEL (not supported by DEC). v If the keyword is omitted, the searching of all system is suppressed. libraries _711LINK-10 Switches Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Exifples /NOSYSLIB:ALGOL/NOSYSLIB:COBOL Do not search ALGLIB and LIBOL. /NOSYSLIB Do not search any system libraries. LINK-10 LINK-10 -742- LINK-10 Switches /0TS Function The /OTS switch appropriate is used to object time system indicate is the segment to be loaded. into which the Switch Format /0TS :keyword Keyword is one DEFAULT of to specified the high load by following: the segment. This after HIGH or LOW keywords, LOW to load to this switch, default action segment unless the load or object the set, or The user has two cases, Segment, load into the segment time is used a /OTS system time the object reset +o normal switch with either into system this to the into the switch, is time low segment. high system the segment., omitted, into the the high either: not these keyword object to system FORTRAN, NELIAC, and ALGOL specify the value of 1is time specifying Code already exists In object its code. conditions HIGH If the in the high segment and /SEGMENT:HIGH is . specified the the object /SEGMENT:LOW switch. time system is loaded into the low ~743- LINK-10 LINK=10 Switches Category of switch Delayed Action Switch (fefer to Paragraph 3.3.5) Examples FILA,REL/SYSLIB/OTS :HIGH Load the required object time system into the high segment. -744- LINK-10 LINK-10 Switches /PATCHSIZE Function The /PATCHSIZE switch is used to allocate space between of the 1loaded code and the the bottom of the symbol table. space is then used for new symbols defined by the user and/or for patching. Note with DDT, each symbol allocated in will The words. The DDT symbols space is either the high or low segment, depending upon the placement of the symbol switch. two This with that when the user defines occupy top default table 1s to as specified with the /SYMSEG place the symbol table in the low segment. Switch Format /PATCHSIZE:n n is a decimal number representing the allocated as patching space. An preceding it with a number sign (#). number of words to be octal value can be given by A global symbol, PAT.., is defined to be equal to the first location in the patching system. If this switch, or the value of default allocation is 64 this (decimal) or switch, 100 1is (octal) omitted, words. the ~7U5- LINK-10 LINK=-10 Switches Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples /SYMSEG : HIGH/PATCHSIZE: 200 Load the symbol table ifit0~the high segment and allocate 200 words betwéen the loaded code dnd the symbol table. LINK-10 -7l6- LINK-10 Switches /REQUIRE Function The /REQUIRE switch is used to generate global réquests indicated modules symbols. out of Thus, their loading of modules this normal switch can be used loading sequence or to for load to the library force the for overlays. The /REQUIRE switch is used to load a module by specifyiné one or more of /INCLUDE Thus, its library symbols (entry points), whereas switch is used to load a module by specifying the /REQUIRE function he wants of search the module switch loaded is (e.g., useful SQRT), when the user its the name. knows the but does not know the name containing . that function. Switch Format /REQUIRE :symbol /REQUIRE: (symbol, the . SIXBIT . .,symbol) Symbol is global request generated. Immediate Action symbol Switch name (refer to request for for which Paragraph the wuser wants 3.3.4) Examples /REQUIRE : NAME Generate a global the symbol called NAME, a e LINK-10 The /REWIND switch is used to rewind the currenf input or output LINK-10 Switches /REWIND Function device. The device associated with this switch must be a DECtape _or.fiagnetic tape. If tfie device ié ndt a tape device, the switch is ignored. Switch Format /REWIND Category of Switch Device Switch (refer to Paragraph 3.3.1) Examples ¢/REWIND MTAO:, LINK-10 -748- LINK=-10 Switches /RUNCOR Function The /RUNCOR switch assigned The to the effect of program given 1is core is low this used to segment of switch run by specify the is amount of the program when identical to it core is to be executed. that produced when the the system run commands (R or.RUN) with the argument. Switch Format /RUNCOR:n n is a decimal used as the GET the number initial system that represents core size command. for An the octal preceeding it with a number sign (#). 1024 by or words P or 512 words respectively. assumed. If n is (a page) If K omitted or or is the amount of to program when obtained wvalue can be with be. given by N is expressed in units of following the number P is omitted, K less core than the with K (1024 words) is amount required, the number of blocks required by the core image area is assumed. Category of Switch Delayed Action Switch Examples /RUNCOR: 50P (refer to Paragraph 3.3.5) LINK-10 ~749LINK-10 Switches /RUNAME Function The /RUNAME is switch is used to assign the name to the program that to be used while the program is running. in a job-associated table SYSTAT program and the in the Monitor VERSION This name is_stored and system is used command. by the This switch affects high segment programs only. Switch Format /RUN : AME symbol Symbol six is the name characters to be assigned specified to are used. the program. If this name used If is there nnnLNK, is no module where nnn is first switch is omitted, the default name is the name of the module with address. Only the the containing a the user's job start last start address, the number. Categofy of Switch /RU : PRIV, NAM MYPROG/SSA E VE Save the file with the name MYPROG (i.e., the program is run with the name PRIV. MYPROG.SHR), but -750- LINK-10 LINK- 10 Switches /SAVE Function The /SAVE switch is used to define an output save file which will contain the core image generated by LINK-iO; The core image is saved as one or two files: a segment file. After the low £file segment and/or a core image is saved on the specified output device, it can later be brought into core and executed a high as non-sharable program (by using the RUN or GET system commands) without rerunning LINK-10. Before writing low segment files .SAV or (i.e., files with ' extensions .LOW), LINK-10 compresses the core image by eliminating all zero blocks. High segment files are This compressed. not action is known as zero-éompression and is used to save space on the storage device. essence, identical The resulting zero-compressed to the one produced the form by file is, in the SAVE system command. Switch Format file specification/SAVE:n File specification 1is in dev:file[directory] specifies the device and name associated with the save file. default specification is: DSK:name of main program. [user's default directory] and The _751- | LINK-10 LINK-10 Switches User-supplied extensions are ignored and the extension the file depends on the number of segments saved. only one éegfient, the extension .SAV is used. given to If there is If there are two segmehts, the exfiensidn «LOW is used for the low segment and .HGH for the high segment. N is a decimal number that fepresents the amount of core (sum of high and low segmehts) in which the éfogram is later to be run. An octal value can'be given by preceding it with a number sign (#) . fi is expressed in unité of 1024 words or 512 words (a page) by following the nfimber with K or P respectively. omitted, K (1024 words) If the /SAVE If Kor is not used, required Category Output of by is is assumed. a save file will not be generated. the switch is given but the core argument is omitted, core P the core image is If the minimum used. Switch Switch (refer to Paragraph 3.3.3) Examples DTA3 :MYPROG/SAVE : 4K= Define a save file on program will be run in DTA3: 4K. with the name MYPROG, The -752- LINK-10 LINK=-10 Switches /SEARCH Function The /SEARCH switch is used to turn on library search mode to (i.e., search specified files in order to load only those modules of the file that are required to satisfy undefined global requests). The user gives this switch to search either library files that he may have created or ones that are not part of the required system /NOSEARCH switch is wused to turn off library libraries. The search mode. The required system libraries unless the are still searched has inhibited the searching with the /NOSYSLIB user switch. Switch Format /SEARCH Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) Examples PARTA,/SEARCH LIBMAC,LIBCBL,LIBFOR,/NOSEARCH PARTB,PARTC The files libraries. LIBMAC, LIBCBL, and LIBFOR are searched as The files PARTA, PARTB, and PARTC are loaded in their entirety. 753 LINK-10 LINK=10 Switches /SEGMENT Function The /SEGMENT switch is used to indicate to LINK-10 the segment into which to load the input modules. Switch Format /SEGM : keyword ENT Keyword is one of the'follOWing: DEFAULT to follow the specifications in typical case is to load pure code impure code into the low segment. reset to normal conditions the program. into the high This keyword is after specifying switch with either the HIGH or LOW keywords. The segment and used a to /SEGMENT LOW to load code into the low segment. HIGH to load code into the high segment, even if the code is impure. If this switch, or the value of the switch, is omitted, high segment code is loaded into the high segment and low segment code into the low segnient. Category of Switch File Dependent Switch (refer to Paragraph 3.3.2) /SEGMENT:LOW TESTPRG ,ANSWER; ROUTIN/SEGMENT :HIGH, Load the modules TESTPRG and ANSWER into the the module ROUTIN into the high segmen t. \ low segment and -754- LINK-10 LINK~-10 Switches /SET Function The /SET switch is used to set the value of a relocation to a specified number. counter Although LINK-10 will handle many relocation counters, in the first release only two relocation counters are implemented: the counter for the low segment (.LOW.) and which begins at zero, the counter for the high segment at location 400000 or the end of the low segment, whichever is greater. Other counters can be set, but (.HIGH.) which begins they are currently not used by LINK-10. Switch Format /SET:symbol:n Symbol is the name of the relocation counter., n is an octal number representing the value of the counter. the first release For of LINK-10, only two relocation counters can usefully be given, .LOW. and .HIGH. Category of Switch Immediate Action Switch (refer to Paragraph 3.3.4) ~755- LINK-10 LINK-10 Switches /SEVERITY Function LINK-10 Thé /SEVERITY switch specifies to messages. are to be considered fatal. the level at which Associated with each messaQe“is.é decimal number from 0 to 31 calied the severity level. With this switch, the user can specify that messages with a Severity.level less than or equal to a specific number are not to; cause his job to be terminated. Any message with a severity level above the specified number will cause his job to abort. Switch Format Y /SEVERIT:n n_is/a decimal number from 0 to 30. severity level LINK-10 messages with a above 'n will cause a user's job to be aborted. Even though the highest severity level is user the 31, cannot indicate that a Amessage with this severity level. is to be considered non-fatal. switch, is omitted, If this switch, or the value of the a fatal error for a timesharing job is one whose seve;ity level is greater than 24 (decimal), and batch job, one whose level is greater than 16 (decimal). Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples /SEVERITY:30 4-65 for a LINK-10 -/56- LINK-10 Switches /SKIP Function The /SKIP number magnetic switch is used to space of input or output files. tape only and is ignored forward over the specified This switch is implemented for if it is given for any other to skip device, Switch Format /SKIP:n n is a decimal number representing the number of over, Category of Switch Device Switch Examples /SKIP:4 MTA3: (refer to Paragraph 3.3.1) files -757- LINK-10 LINK-10 Switches /SSAVE Function The /SSAVE switch is used to define an output save will contain the core image produced by LINK-10., which file It is similar to the /SAVE switch except that the high segment will be sharable when it is brought into core and executed. The saved file produced by this switch is the same as the one SSAVE system command. produced by the for the Refer to the /SAVE switch. Switch Format file specification/SSAVE:n Arguments are the same as for the /SAVE switch except following difference: when there are two segments, the extension .LOW is assumed for the low segment and .SHR for the high segment, Category of Switch output Switch (refer to Paragraph 3.3.3) Examples DTA: SHRPRG/SSAVE, Define a sharable save file with the name SHRPRG on the user's DECtape. The minimum core required by the core image is assigned. LINK-10 -758- LINK-10 Switches /START Function The /START loaded switch program is used or address. When a addresses are to to specify the allow a Program to start address ignored. start This is is specified, address of specify its own all the start subsequent start the default action. Switch Format /START:n n is either of the followingz an octal the a number starting SIXBIT global The global If n but modules (i.e., of symbol symbol is omitted, address preceded address a number whose value specified must LINK-10 will by the program, accept the action does not all start is to sign (#) is the start be defined. change the addresses turn representing or off from a address. current the start following /NOSTART switch setting), Category of Swit:ch File Dependent Switch (refer to Paragraph 3,3.2) Examples +MAINPG/START, /NOSTART Use the addresses start in PROG1,PROG2, address PROG1 and in MAINPG PROG2. and ignore the start LINK-10 ~759LINK=-10 Switches /SYMBOL Function The /SYMBOL swifich is used to specify an output syhbol file which consist of local symbols (if loaded), information stored in will names the local symbol table, such as module global symbols and and lengths, sorted for DDT. Via keywords, the user can specify that the symbol file is to either in representation or in triplet format. radix-50 be These two éymboi table formats can be distinguished from each other in several ways: 1., The first word of the radix-50 symbol negative. always 2. always is table The first word of the triplet symbol table is zero. The listing of each radix-50 symbol requires two the first word is the symbol name in words; radix-50 representation, and the second word is the value. 3. The listing of each triplet symbol requires three words; the first one contains flags, the second is the symbol name in SIXBIT, and the third is the value. This switch is useful wheh DDT is not 1loaded with the wuser's program because it guatantees that the symbols will be available. Note that if the user issues the /NOSYMBOL switch in the string, he is not able to obtain the output symbol file. command LINK-10 -760- LINK-10 Switches Switch Format file File specification/SYMBOL:keyword specification specifies The the default is device in the specification job number, Keyword one is RADIX=-50 TRIPLET If of the is .SYM[user's default directory] the filename nnnINK, will where nnn is used. obtain the the symbols symbols in in radix-50 triplet be generated. If the keyword representation. format. the /SYMBOL switch is not issued by the user, file file. following: to obtain to symbol and is is no main program, the user's dev:file[directory] and name associated with the DSK:name of main program If there form no output symbol is omitted, RADIX-50 is assumed. Category of Switch Output Switch (refer to Paragraph 3.3.3) DSKB:SYMFIL[20,235)/SYMBOL, Define area of format. a symbol DSKB:. file with The symbols the name will be SYMFIL on the outpuin t the RADIX~50 [20,235] =761~ LINK-10 LINK-10 Switches /SYMSEG Function The /SYMSEG switch causes symbols to be loaded with the program énd indicates placed, loaded the segment into which the symbol table is to be With this switch, the user insufes that his program when with DDT will overwriting run in as much core as the symbol table. is available without Loading DDT or setting the JOBDAT locétion «JBDDT to a non-zero value also causes the symbols to be loaded. Switch Format /SYMSEG: keyword Keyword is one of the following: DEFAULT at the to move the symbol table from its current position top of core to the first free location after the patching space. The JOBDAT location .JBFF, which points to the first free location, is adjusted to point to the first free location after the symbol table. This keyword is used to reset' to 'the normal action after invoking the /SYMSEG switch with either the HIGH or LOW keywords. HIGH to place LOW to place the the symbol symbol table table into into the high the segment. low segment. If the switch, or the valfie of the switch, is omitted, the symbol table is moved' from ifs current position in the segment to the first free determined location in that after 64 decimal or symbol, segment. the allocation of 100 octal words) PAT.., is The space first free location (default allocation for patching of symbols. is is A global defined to be equal to the first location in 4-71 LINK-10 -762- LINK=-10 Switches the patching space. Category of Switch Delayed Action 8witch (refer to Paragraph Examples /SYMSEG:HIGH 4-72 3.3.5) -763- LINK-10 LINK-10 Switches /SYSLIB Function The /SYSLIB switch forces the system libraries to be searched order to satisfy any undefined global requests. the main program first searches the and, appropriate depending 1library causes ALGLIB to be loaded). programs and A system searches library on (e.g., in LINK-10 examines the compiler used, an ALGOL main program Then LINK-10 looks at any remaining the relevant libraries. is not automatically searched unless corresponding compiler-produced code has been loaded. its This means that a user must explicitly request a system library when he is not loading. the corresponding compiler-produced code for that library. For example, if the programs and he wants the LIB40 it in the switch unless F40 format; code has user library LIB40 is at the end of switch without any keywords at the time the switch, end of the searched, not is only MACRO-10 he must specify automatically causes the searcing of the 1loading to search the loading procedure; the the switch is given. with no arguments, loading searched been loaded. The normal action taken by LINK=-10 libraries is libraries to If keywords are all required however, be this searched specified on indicated libraries occurs at the procedure or on a subsequent /SYSLIB whichever occurs first. 4-~73 switch LINK-10 ~764- LINK=-10 Switches Switch Format /SYSLIB:keyword /SYSLIB: (keyword, . . .,keyword) Keyword the following: is one of ALGOL BCPL to to search ALGLIB search BCPLIB COBOL to search LIBOL FORTRAN to search FORLIB F40 to search depends given, NELIAC If the or the supported FORLIB. The /FOROTS or by DEC) library searched /FORSE sw1tch, if neither switch is given. to (not search is if or on .the default FORTRAN llbrary, which is normally FORLIB, keyword corresponding LIB40 upon (not LIBNEL omitted, supported by only compiler-produced code the 1libraries has been ‘ DEC) for which loaded will be searched. Category of Switch Createsan;implicit file specifiqation Examples /SYSLIB 4-74 (refer to Paragraph 3.3.6) -7€5- LINK-10 LINK~10 Switches /SYSORT Function The /SYSORT switch is used to arrange the symbol table for output to the symbol file into the order most convenient to the user. Switch Format /SYSORT:keyword Keyword is one of the following: UNSORTED to leave the symbols in the order in which they are This is the default. placed in the symbol table. ALPHABETICAL to arrange the module each for order block=structured module. symbol table in each for or alphabetical block in a NUMERICAL to arrange the symbol table in numerical order for each module according to the values of the symbols. NOTE LINK-10, For the first release of keyword only the is UNSORTED keywords other The implemented. accepted but are above described as same the is LINK-10's action the UNSORTED with taken that keyword. Category of Switch Delayed Action Switch (refer to Paragraph 3.3.5) Examples RT : UNSORTED /SYSO LINK-10 -766- LINK-10 Switches /TEST Function The /TEST switch is used to specify load a debugging execution of the user's program. the /DEBUG switch except that user's of program instead to terminate Thus, specifies it is the loading; and the to similar to execution the debugging program. does not cause termination of required it program of This /GO the switch switch is laoding. Switch Format /TEST:keyword Keyword is one of the following: MACRO, MANTIS. When the debugging Creates an compiler aid associated with if MACRO is specified, Category of a COBDDT, or that the COBOL, DDT, assembler is translator is the debugging program DDT is FORTRAN, specified, used (e.g., loaded)., Switch implicit file specification +MAIN1,/TEST:COBOL DATPRG,DATA,TEST, 4-76 (refer to Paragraph 3.3.6) -767- LINK-10 LINK-10 Switches /UNDEF INED Function The /UNDEfINED switch is wused to type all undefined global‘ ~requests on the fisér's termihal. The user can employ this switch to determine the undefined 'symbols and then use switch to satiéfy the requests for these symbols. the /DEFINE Thus, the user éan interactively satisfy reéuegts before LINK-10 terminates the load with undefined symbols. Switch Format /UNDEF INED Category of Switch Immediate Action Switch (refer to Paragraph 3.3.4) Examples * /UNDEF ) 1 UNDEFINED SYMBOL NAME 400100 400100 is a word in the chain of symbol. 4-77 fixups depending on the LINK-10 ~/68- LINK=-10 Switches /UNLOAD Function The /UNLOAD switch is used to rewind and unload the current input or output device. The device associated with this switch must be a DECtape or a magnetic tape; the switch is ignored for non-tape devices. Switch Format /UNLOAD Category of Switch Device Switch; however, the action of this switch is always performed after the file is processed regardless of its position in the specification (refer to Paragraph 3.3.1) Examples +/REWIND DTA3:FILNAM/UNLOAD, -769- LINK-10 LINK=-10 Switches /VALUE Function The /VALUE switch allows the user to interactively type in names their current of values. global symbols in order to £find out The output giveh to the user consigts of' the symbol, its current Qalqe, and its status. of: DEFINED UNKNOWN (i.e., in the symbol table with the requested The status can be one its final value), (i.e., not in the.symbél table), UNDEFINED (i.e., in the symbol table'as undefinedf, COMMON (i.e., in thé symbol table and defined as COMMON). Switch Format /VALUE : symbol /VALUE: (symbol, Symbol . . « s 8ymbol) is the name of the symbol Category of in ASCII. Switch Immediate Action Switch (refer to Paragraph 3.3.4) Examples */VALUE: (TAG1,START) J) TAGl 400010 START 0 DEFINED UNDEFINED The symbol TAGl is defined symbol START is undefined. to be the value 4-79 400010, and the -770- LINK-10 LINK=-10 Switches /VERBOSITY Function The /VERBOSITY switch gives the user control over the text transmitted a verbosity message. A consists only indicating verbosity of Associated with each message the amount of text contained in the SHORT of a 3-letter code indicates that (e.g., STC). explains the code (e.g., message and one line STC Symbol Table Completed). message with a verbosity of LONG consists of the the the A message with a verbosity of MEDIUM consists of the 3-letter code that of to both his terminal and his log file whenever he receives a message from LINK-10. is amount 3-letter A code, one line of explanation, plus a more detailed explanation of the message. Thus, the user can specify via this switch the amount of explanation output to his terminal and log file, LINK=-10 has the fblléwing feature to aid users receiving fatal messages (i.e., ones preceded by ?). fatal message but has not indicated that detailed explanations (i.e., If the user receives a he wants types out the see the verbosity LONG),'he can give the CONTINUE system command after he receives the then to- remainder of the message information available) on the user's terminal. message. LINK=~10 (if there is more This additional information is not included in the user's log file nor is the job continuable after the message is output. 771- LINK-10 LINK=-10 Switches Switch Format /VERBOSITY : keyword Keyword is one of SHORT - MEDIUM LONG the following: 3=letter code only. 3-letter code 3=-letter and code, a one-line a one-line this switch, detailed explanation. The default value is MEDIUM if explanation. explanation, and a or the keyword to the switch, is omitted. If the user specifies a verbosity greater than the one for the message the message, the specified and only the available wuser text keyword is is output. ignored For available for example, that if specifies MEDIUM as the verbosity but the message only has a 3-letter code available (i.e., SHORT), only the 3=letter code “will be output because there is no additional information available for that message. Category of Switch Delayed Action Switch Examples /VER: SHORT (refer to Paragraph 3.3.5) LINK-10 -772- LINK=10 Switches /XPN Function to The /XPN switch is used core expanded create or the on save disk the file (XPN file) of the low segment. If the image program has not been loaded onto the disk, this switch causes the If the file to be Created with the name specified by the user. program has been 1oadéd onto the disk, the file already exists, but with the name nhnLLC.TMP where nnn is the user's job number. Since this extension indicates a processing. upon Thus, in.this case, the expanded the completion of LINK=-10's the /XPN switch is wused to file with the .XPN extension, so that it will not be the rename deleted normally is file file, temporary deleted. Switch Format ‘ file specification /XPN File specification specifies is in the form dev:file[directory] and the device and name to be associated with the expanded core image file. The default specification is DSK:name of main program.XPN{user's default directory] If there is no main program, the filename nnnLNK, the user's job number, is used. where nnn 1is ~773- LINK-10 LINK-10 Switches Category of Switch Output Switch (refer to Paragraph 3.3.3) Example DSKC:XPNFIL[20,270]/XPN Save the expanded core image file on the [20,270] area of DSKC: and with the name XPNFIL. 4-83 LINK-10 -774- LINK- 10 Switches /ZERO Function The /ZERO switch is used to clear the directory of the éssociated DECtape. The directory writéen, regarcless of specification. This is the always switch's switch is cleared before position in ignored for devices. Switch Format file specification/ZERO File specification is an output specification. Category of Switch Output Switch (refer Examples DTA3 :MYPROG/SAVE/ZERO to Paragraph 3.3.3) all the the file is current non-DECtape ~775- LINK-10 LINK-10 Messages CHAPTER 5 LINK~10 MESSAGES The following table of LIfiK-lO CODE, LVL, SEV, messages of four columns: and MESSAGE;. The leffimost column (CODE) contains a 3-letter code, which represents message. consists a teise, abbreviated form of the The user can indicate, via the /VERBOSITY:SHORT switch, that he desires only this code to be output whenever he receives a message. Refer LINK-10 to the /VERBOSITY switch in Chapter 4 for additional information.,: The second column of each.message (LVL) indicates assoc1ated, with that message. are suppressed. message Normally, can override switches. ‘LINK-lO this action with These switches accept a that specified informative to the user's terminal and all messages are output to the log file;/if the user has designated one. user level The message level is the factor that defiermines if the message is to be output. messages the However, the the /ERRORLEVEL and /LOGLEVEL decimal number and indicate to messages with a message level less than or equal to the number are not to be output to (/ERRORLEVEL; or to his log file (/LOGLEVEL); level greater than the specified number will the user's terminal Messages with a message be output. The two switches are independent if the user's log file is not being output to his terminal. terminal That is, he can h&ve one set of messages printed on his and another set listed in his the log file is the user's fierminal, output. This log only file. one When the device set of messages set is the one generated by the lower argument for is in either LINK-10 - -776- LINK-10 Messages the /ERRORLEVEL or /LOGLEVEL switch. There are currently representations $I message level 1 Xinformative) tW message level 10 (warning) $F message level 31 (fatal) Refer to the /ERRORLEVEL and additional third column each message., considers load) . (SEV) The severity a message to be fatal The predefined number indicates and than or equal Messages number will severity to switches with level levels: in level 1is the Chapter 4 for (i.e., one which severity switch. This a 31 severity level of 24 is with terminate the levels can be overridden by switch accepts to a decimal severity be level considered 1level greater than the specified to be terminated. always fatal (Note that messages with and override the action taken with these messages.) give a /SEVERITY switch, will that messages with a severity are associated point at which LINK=-10 specified number are not load of severity 1level to LINK~10 the cause the the LINK-10 the /SEVERITY a /LOGLEVEL contains the user via fatal., three message information. The less for that the If the user user cannot does not or does not give an argument to the switch, considered fatal severity level of 16 is considered fatal for a timesharing job for a batch job. and a a -777- LINK-10 LINK-10 Messages for the Séverity levels are as follows: Currently £he representations %I séfiérity level 1. The message ié. enclosed in square brackets (informative) . éd by a percent sign W seVefity level 10. The messag_ e is precéd . (wa:ning). ' élié preceded by a percent sign $E severity level 30. The meSsag requesting the user to re-edit the and followed by a line if he wishes. current file specification, This option available only to a time-sliaring user (editing). is F éeverity,level 31. The message is préceded by a gquestion mark (fatal). ' Refer to the /SEVERITY switch in Chapter 4 for additional information. The rightmost_colfimn (MESSAGE) contains a more detailed explanation of the méséaqe than the one éppeafing in the CODE column. This message, élong with the thrée-létfier code; is normally output. However, the user can .ovérride iiis éction with the /VERBOSITY switch. Refer to the /VERBOSITY switch in Chapter 4 for further information. LINK-10 -778- LINK-~10 Messages CODE LVL SEV MESSAGE F F ADDRESS NOT LINK-10 expected IN CORE a (1) particular user be in core, but it is not there. LINK=-10 internal error. AZW 3F 3F ALLOCATING LINK-10's request error CEF $F 3F CORE ZERO WORDS address to This a (1) space allocator was called for is zero words. This in LINK-10, is with an a internal ' EXPANSION FAILED (1) All attempts to obtain more core, including writing files onto disk, have failed. CLF $I %I CLOSING LOG FILE, specification] CONTINUING ON [file This message occurs when the user changes the device on which the 1log file is being written. The log file is closed on the first device and the remainder of the file is written on the second device. 3F §F COBOL MODULE MUST BE The COBOL-produced file loaded COBDDT, when LOADED FIRST file must 1loading be COBOL the the COBOL debugging program, modules, such as a MACRO cannot be the first file in the other string. first modules. or any routine, command The user should begin loading again and place the COBOL main program or routine as the first file in the command string. (1) This message your to Software DEC, is not expected to occur. Specialist or send a Software If it does, Performance please notify Report (SPR) -779- LINK-10 LINK-10 Messages CODE LVL SEV MESSAGE CNW F F CODE CSF %1 3I NOT YET WRITTEN AT ([label] The user attempted a feature implemented. LINK=10. 1is - CREATING This (1) that is not yet an internal error in ‘ SAV FILE LINK-10 is generating the requested save file by running the core image through a zero compressor routine in order to produce a SAV /REWIND or format file. DNS 3I 31 DEVICE NOT SPECIFIED FOR /switch A device /BACKSPACE, switch, has such as been given, but there is no device to be associated with it., The switch is ignored. This occurs when the user does not give a device name in the specification containing the switch or has not specified a device name in the current 1line. (Remember that devices are cleared at the end of the line.) LINK-10's default device DSK does not apply to device switches nor does a device specified in a /DEFAULT switch apply. The user should respecify the command line include the appropriate device name with switch, ' (1) This message is not expected to occur. your Software to DEC. Specialist or send a Software If it does, Performance and the please notify Report (SPR) -/80- LINK-10 LINK-10 Messages CODE LVL SEV MESSAGE DRC IW W DECREASING RELOCATION COUNTER [value] TO [value] [symbol] FRCOM The user is reducing the size of ‘an already relocation counter via the /SET defined switch. The new value is accepted. The user should be extremely careful when he does this because code previously loaded under the old relocation counter may be.overwritten. This is dangerous practice of reducing counters unless the user knows exactly where modules are DSO $F F loaded. DATA STATEMENT OVERFLOW (1) Incorrect code has been generated by the F40 DECREASING UNDEFINED SYMBOL COUNT BELOW ZERO compiler. DUZ §F 3F (1) On an internal check of the counter for LINK-10 determined that undefined symbols, an is This the counter was negative. internal error. EID 3F $F ERROR ON INPUT DEVICE [file specification] STATUS (xxxxxx) FOR input A read error has occurred on the Use of the device is terminated and device. is status The 1is released. the file represented by the right half of the file Refer to DECsystem-10 Monitor status word. for the explanation of the file status Calls bits. (1) your to If it does, please notify This message is not expected to occur. Specialist or send a Software Performance Report (SPR) Software DEC. -781- LINK-10 LINK=-10 Messages CODE LVL SEV MESSAGE ELC LC EHC ELS F EFX F | ERROR CREATING HC OVERFLOW FILE FOR AREA { LS FX | EGS G LINK=10 could not make the named file on the disk (LC=user's low segment code, HC=user's high segment. code, LS=local symbol table, FX=fixup area, and GS=global symbol table). The user could be over quota, could be full or have errors. EMS 3I 31 or the disk END OF MAP SEGMENT Notification that the LINK-10 module LNKMAP has completed the writing of the map file. The map ESN 3F 3F is EXTENDED now closed. SYMBOL NOT EXPECTED (1) The code to handle symbols longer characters has not been completed. will be available EXP 31 31 EXPANDING LINK=10 the same LOW needs specified programs, core amount. the six code in a future release. SEGMENT TO more than This user [n] K and is In future can run expanding loads LINK=10 of to the more efficiently by requesting this amount of core at the beginning of the load with the /CORE switch. (1) your to This message is not expected to occur. Software DEC. Specialist or send a 5=~7 If it does, please notify Software Performance Report (SPR) -/82- LINK-10 LINK=-10 Messages CODE LVL SEV MESSAGE EXS 31 31 EXIT SEGMENT LINK-10 is entering the completion stages of These stages include 1loading process. the the creation of save and symbol files and, if required, FCD sF 3F the execution of the core image. FORTRAN CONFUSED ABOUT DATA STATEMENTS (1) F40 the by generated code was Incorrect compiler for a data statement in the form DATA A(I),I=1,4/1,2,3,4/ as opposed to a data statement in the form DATA (A(I),I=1,4)/1,2,3,4/ FCF 31 $I FINAL CODE FIXUPS LINK=-10 is now reading the 1low and/or high segment overflow files backwards in order to do all remaining code fixups. This process may cause considerable disk overhead. Note that the message occurs only if the load was too large to fit entirely in core. FIA sF $F CANNOT MIX KI10 AND KAl0 FORTRAN-10 CODE COMPILED . The FORTRAN-10 compiler generates different output for the KAl0 and the KI1l(Q processors (e.g., double precision code) and the user cannot load this mixture. He should decide which processor he wants to use and then recompile the appropriate programs. (1) your to This message is not expected to occur. If it does, please notify Software "Specialist or send a Software Performance Report (SPR) DEC. LINK-10 -785~LINK=-10 Messages CODE LVL, FIN $I SEV %1 MESSAGE LINK-10 FINISHED LINK-~10 has completed its task of user's program loading the and other required programs. Control is either returned to the monitor given to the user's program for execution. FON 3 3F or CANNOT MIX F40 AND FORTRAN-10 COMPILED CODE Output from the F40 and FORTRAN~-10 cannot be used together compilers in the same load. The user should decide which compiler he wants and then recompile the. appropriate program with that compiler. (FEE' 3F sF FRE (ENTER RENAME ERROR (0) [file specification] ILLEGAL FILENAME FOR One of the following conditions occurred: l. The filename given was 2. When updating a given file, illegal. the filename did not match the file to be updated. 3. (FLE) GSE 8F SE <LOOKUP" GETSEG The RENAME UUO following Uuo failed. ERROR (0) FILE WAS a LOOKUP NOT FOUND The file requested by the user was not found. The user should respecify the correct filename. -/84- LINK-10 LINK=~10 Messages CODE MESSAGE SEV FEE ENTER LOOKUP RENAME GETSEG $E FRE GSE ERROR (1) NO DIRECTORY FOR PROJECT-PROGRAMMER NUMBER FOR specification] ([file The UFD does not exist on the named file structure, or the project-programmer number given was FEE incorrect. ENTER FLE 3F LOOKUP RENAME 3E .GSE ERROR (2) PROTECTION FAILURE FOR [file specification] GETSEG The user does not have the correct privileges to access FRE F the named file. ENTER ERROR tE (2) DIRECTORY FULL The directory on the DECtape has no room the ENTER LOOKUP \ ERROR FEE FLE $F &F \\RENAME GSE for file. GETSEG (3) FILE WAS BEING MODIFIED FOR [file specification] Another user is currently modifying the named file. The user should try accessing the file later. FEE \ ENTER FLE §F FRE GSE ‘ LOOKUP RENAME GETSEG ERROR (4) RENAME FILENAME ALREADY EXISTS FOR ([file specification] (1) The specified filename already exists, or a different filename was given on the ENTER UUO following (1) your to a LOOKUP UUO. This message is not expected to occur. If it does, please notify Software Specialist or send a Software Performance Report (SPR) DEC, 5-10 - -785- LINK-10 LINK-10 Messages CODE LVL FEE FLE SF SEV ‘ SF - FRE GSE MESSAGE CENTER ) LOQKUP FLE sF GETSEG - $F FRE .GSE (5) ; o ILLEGAL SEQUENCE OF (1) "RENAME ( UUOS FOR [file specification] : Theifiéer sbedified an illegal a preceding LOOKUP after an ENTER). or monitor FEE ERROR ENTER ' calls, - UUOs, ENTER, ERROR RENAME ( GETSEG. FOR (6) [file . or of BAD a LOOKUP | _ | LOOKUP sequence (e.g., a RENAME without UFD OR BAD RIB specification] ' (1) One of the following conditions occurred: 1. Transmission, device, or data occurred while the UFD or 2. attempting error to read RIB. A hardware-detected device or data - data error was detected while reading the UFD RIB or UFD data block. 3. | (FEE FLE FRE | \ 3F GSE.. 3P A software-detected - inconsistency error while reading the UFD was RIB detected or file RIB. ENTER LOOKUP RENAME GETSEG | . ERROR (7) NOT A SAV FILE [file specification] (1) FOR The named file is not a core image file. This message can never occur and is included only for completeness of the LOOKUP, ENTER, and RENAME error codes. (1) your to This message is not expected to occur. Software DEC. Specialist or send a 1If it does, please notify Software Performance Report (SPR) -786- LINK-10 LINK-10 Messages CODE LVL SEV MESSAGE FEE FLE . $F ENTER &F GSE LOOKUP RENAME . B ERROR (10) NOT ENOUGH CORE FOR [file specification] (1) GETSEG The system cannot supply enough core to use as buffers or to read in a program. This message can never occur and is included only for completeness of the LOOKUP, ENTER, and RENAME error codes. ENTER EE FLE F FRE 3F LOOKUP RENAME ERROR (11) DEVICE NOT AVAILABLE FOR [file specification] (1) GETSEG GSE The device indicated by the user is currently not available. This message can never occur and is included only for completeness of LOOKUP, ENTER and RENAME error codes. EE ENTER LOOKUP RENAME FRE the ERROR (12) NO SUCH DEVICE FOR [file specification] (1) GETSEG GSE The device specified by the user does not This message can never occur and is exist. included only for completeness of the LOOKUP, ENTER, and RENAME error codes. (1) your to notify This message is not expected to occur. If ifi does, please Report (SPR) Software Specialist or send a Software Performance DEC. 5=12 -787- LINK-10 LINK=10 Messages CODE LVL SEV $F -$F FEE MESSAGE ENTER FLE GSE LOOKUP RENAME [ ERROR (13) NOT TWO RELOC REG CAPABILITY FOR [file specification] GETSEG (1) The machine does not have a two-register relocation capability. This message can pever occur and is included only for completeness error. codes. FEE of the LOOKUP, ENTER and RENAME ENTER FLE F §F GSE LOOKUP RENAME [ ERROR (14) NO ROOM OR QUOTA EXCEEDED FOR [file specification] GETSEG There is no room on the file structure for the named file, or the user's quota on the file structure would be exceeded if the file were placed on the structure. FEE ENTER FLE F F GSE LOOKUP RENAME ERROR (15) WRITE LOCK ERROR FOR [file specification] GETSEG The user cannot write on the because it is write-locked. EE FLE FRE GSE specified device ENTER \ F 3F LOOKUP RENAME ERROR (16) NOT ENOUGH MONITOR TABLE SPACE FOR [file specification] GETSEG : There is not enough table space in the monitor's (FILSER) 4=-word blocks for the specified file. The user should try running the job at a later time., (1) This message is not expected to occur. If it does, please notify your Software Specialist or send a Software Performance Report (SPR) to DEC, 5-13 LINK-10 -788- LINK-10 Messages CODE LVL SEV W W FEE MESSAGE ENTER FLE LOOKUP FRE | GSE ERROR (17) RENAME ( ONLY FOR GETSEG ./ Because space of on the the PARTIAL ALLOCATION [file user's specification] quota device, or the the available total number of blocks requested could not be allocated and a partial allocation was given. FEE ENTER FLE F F FRE GSE LOOKUP ERROR RENAME [ GETSEG.) ALLOCATION FOR (1) The block available occur completeness error codes. ¥F F LOOKUP FRE LINK-10 is not This message can and is included of the LOOKUP, ENTER, only for and RENAME ’ GETSEG./ specification] The user attempted directory. is This message Software DEC. is to only ENTER, and or send a supersede for an existing completeness RENAME not expected to occur. Specialist (1) This message can never occur and included LOOKUP, to by allocation. ON specification] ERROR (21) CAN'T SUPERSEDE (ENTER) AN EXISTING DIRECTORY FOR [file RENAME GSE (1) NOT FREE [file ENTER FLE your BLOCK required for never FEE (20) Software If error it does, Performance ' 5-~14 of the codes. please notify Report (SPR) -789- LINK-10 LINK-10 Messages CODE LVL SEV 3F &F MESSAGE (FEE ENTER FLE FRE ' GSE LOOKUP RENAME ERROR (22) CAN'T DELETE (RENAME) A NON-EMPTY DIRECTORY FOR [file GETSEG specification] (1) The user attempted to delete a directory that was not and is LOOKUP, EE FLE\ empty. This message can never occur included only for completeness of ENTER, the and RENAME error codes. ENTER SF - LOOKUP RENAME 8F GSE \ ERROR (23) SFD NOT FOUND FOR [file specification] GETSEG The required sub=-file directory specified path was not found. FEE in the ENTER FLE 3F LOOKUP RENAME 3F GSE ERROR (24) SEARCH LIST EMPTY FOR [file specification] GETSEG A LOOKUP and generic device ENTER DSK UUO and was performed on the search list is empty. 'ENTER EE FLE - %F LOOKUP 3F ERROR (25) SFD NEST LEVEL TOO RENAME GSE - An attempt was directory nested level and [file specification] (1) ENTER, create than a the subfile maximum and RENAME error codes., This message is not expected to occur. your Software deeper allowed. This message can never occur is included only for completeness of the LOOKUP, (1) DEEP FOR GETSEG If it does, please notify Specialist or send a Software Performance Report (SPR) 5-~15 LINK-10 -790- LINK-10 Messages CODE LVL SEV MESSAGE SF 3F ENTER LOOKUP FEE FLE FRE ERROR RENAME GSE (26) NO-CREATE SEARCH LIST FOR ON FOR ALL [file specification] GETSE No file has structure in the job's search 1list both the no-create bit and the write=lock bit equal to zero and has the UFD or SFD specified by the default or explicit path., FEE FLE SF sF FRE GSE ENTER LOOKUP ERROR (27) RENAME SPACE FOR GETSEG : SEGMENT NOT ON SWAP [file specificatio(1) n] ’ A GETSEG UUO was issued from a locked 1low segment to a high segment which is not a dormant, active, or idle segment. This message can never occur and for completeness of RENAME FEE FLE error sF LOOKUP RENAME included only ENTER, and codes, ERROR (nn) UNKNOWN CAUSE FOR [file specification] GETSE RENAME number than This message Software indicates error send a the errors Software 5~16 that a LOOKUP, occurred which was is not expected to occur. Specialist or (1) : This message or (1) is LOOKUP, ENTER 3F FRE GSE your the LINK=-10 knows If it does, Performance ENTER, larger in about. please notify Report (SPR) -791- LINK-10 LINK-lO Messages CODE LVL HSL 8F MESSAGE ATTEMPT TO SET HIGH SEGMENT ORIGIN TOO LOW The user is trying to set the beginning of the high segment below 400,000 or below the end of the low segment, whichever is larger. This can be the result of a /SET:.HIGH. switch with a value less than 400,000, If this is the case, the switch is ignored and the user should again specify the /SET:.HIGH. switch with a valid argument. This message can also occur when greater than 400,000 loaded is requesting the 1low segment is and a module being the high segment to start at user 400,000, The can either give /SET switch or retranslate the module. HSO 1) W ATTEMPT TO [value] TO [value] CHANGE HIGH SEGMENT ORIGIN a FROM The user is attempting to change the starting address of the high segment. The specified value is ignored. The cause may be that the user gave a /SET:.HIGH.,: value switch which does not agree with the LINK item type 3, or that two LINK item type 3's have different origins., The incorrect files. HTL F &F SYMBOL HASH user TABLE should TOO LARGE in the maximum hash table can generate. increase hash (1) This message your to Software is . the (1) symbols a Software DEC. 5=17 1If it does, Performance can fit 25K in size) action allowable table. send than (about Possible maximum not expected to occur. Specialist or the ‘ The user has more global LINK-10 recompile size is to of the please notify Report (SPR) -792- LINK-10 LINK-10 Messages CODE ( I4DY I4s I4T LVL SEV MESSAGE 3F 3F ILLEGAL F40 Incorrect compiler. IBC $F L1 DATA CODE SUB=~BLOCK (xxxxxx) ' (1) TABLE ENTRY code was produced by the F40 ATTEMPT TO INCREASE SIZE OF BLANK COMMON the blank to expand An attempt was made Once a COMMON area is defined, COMMON area. The user should the size cannot be expanded. load the module with the largest blank COMMON 1larger area with area first or specify the either loading switch before the /COMMON module. ICI 3F 3F INSUFFICIENT CORE TO INITIALIZE LINK-10 There is not enough core in the system to initialize LINK-10. IDM $F 3E ILLEGAL DATA MODE FOR DEVICE is a device specified for The data mode such as dump mode for the terminal illegal, The user should respecify (ee.g., TTY:/SAVE). the correct device. IFD $F §F INIT FAILURE FOR DEVICE [dev] The OPEN or INIT UUO failed for the specified by wuse in be could device The device. another user. (1) This message is not expected to occur. If it does, please notify your Software Specialist or send a Software Performance Report (SPR) to DEC. 5~18 ~793- LINK-10 LINK=-10 Messages CODE LVL SEV MESSAGE ILC - LC IHC ILS $F IFX 3F HC ERROR INPUTTING AREA - IGS ( LS ) = STATUS (XXXXXX) FX GS An error area occurred while (LC=user's reading in the low segment code, high segment code, LS=local symbol FX=fixup= area, = and GS=global symbol The status is represented by the of the file DECsystem-10 explanation of ILI SF- F status the status bits. The was input file translator (e.g., either that LINK-10 SAV file). $I 3l generated does (e.g., SF F not This message Software to DEC. a or is not is an ASCII or INCREMENT MAPS AL NOT YET AVAILABLE I/0 DATA BLOCK NOT SET UP LINK-10 (1) by recognize attempted to do /MAP switch is ignored. (1) I/O (LOOKUP, UUOs) for a channel that has not been This is an internal LINK-10 error. your to the ON The INCREMENTAL keyword for the is not implemented. The switch INS for a non=-supported translator) in proper binary format IMA Calls (xxxxxx) [file specification] half Refer = ILLEGAL LINK ITEM TYPE table, table). right word. Monitor file named HC=user's is not expected to occur. Specialist or send a Software 5-19 If it does, Performance ENTER set up. please notify Report (SPR) -794- LINK-10 LINK-10 Messages CODE LVL SEV MESSAGE IPO F F INVALID POLISH OPERATOR (1) An incorrect link type This ISD %F F item 11 is an internal LINK-10 error, was INCONSISTENT SYMBOL DEFINITION FOR seen. [symbol] An already-defined symbol has been given a second "partialTM definition. The user should examine the usage of the named symbol. ISO F 3F INCORRECT STORE OPERATOR (1) An incorrect link item type 1l was seen. This is an internal LINK=10 error. Isp F F INCORRECT SYMBOL POINTER (1) The current symbol pointer does not point to a valid symbol triplet. This can occur if an extended symbol does not terminate properly. This is an internal LINK-10 error. IST §F F INCONSISTENCY IN SWITCH TABLE (1) An internal in error occurred the tables built by the SCAN module. IVC &F 3F INDEX VALIDATION CHECK (1) The range checking FAILED of AT LINK=-10's switch [address] internal tables and arrays failed. The address output is the point in the appropriate LINK-10 segment at which this occurred. (1) This message is not expected to occur. If it does, please notify your Software Specialist or send a Software Performance Report (SPR) to DEC. 5=20 -795- LINK-10 LINK-10 Message CODE LVL SEV MESSAGE LDS I 31 LOAD SEGMENT Indication that the LINK-10 module LNKLOD has LIM LIT 3I F L F started its LINK-10 INITIALIZATION processing. LINK-10 has user's input, LINK begun ITEM TYPE its (xxxxxx) specification] An error occurred in This could result generated by is seen required). I W W SHORT FOR the [file the named 1link item. from incorrect output translator LOADING MODULE [name] LINK-10 is the in (e.g., no argument: process of 1loading MULTIPLY-DEFINED GLOBAL SYMBOL [name] DEFINED VALUE = VALUE = ([value] {[value], named module. MDs TOO of on an END block when one is The user should retranslate the module. L a processing MODULE [symbol] the IN THIS The user has given an existing global symbol a value different from its original one. The second occurrence of the global symbol is in the named module. The currently defined value is used. The user should change the name of the symbol or reassemble one of the files with the correct parameters. 31 31 MAP SORTING NOT YET IMPLEMENTED Alphabetic and numeric file is not appear in in the symbol yet the order 5-21 table. sorting implemented. in which of The the they were map symbols placed -796- LINK-10 LINK=10 Messages CODE LVL SEV MESSAGE MOV $I $I MOVING LOW SEGMENT TO EXPAND AREA[area] This message indicates that LINK-10 is making In future loads of inefficient use of core. the same programs, the user should allocate more core to LINK-10 at the beglnnlng of the followxng. the of Area 1s one load. LC=user's low segment code, HC=user's high segment code, LS=local symbol table, FX=fixup area, and GS=global symbol table. MPS 3I $1 MAP SEGMENT Indication that the LINK=10 module LNKMAP has begun to write a map file. MSS W W MAXCOR SET TOO SMALL, INCREASING TO nK The current value of MAXCOR is too small for In future loads of this LINK-10 to operate. program, the user can save LINK-10 tlme by setting MAXCOR to this new expanded size at the beginning of the load. MTS W W MAXCOR TOO SMALL, AT LEAST nK IS REQUIRED The user specified the /MAXCOR switch with an argument that is below the minimum size LINK=-10 requires as its 1low segment. The AS [file The minimum size is switch 1is ignored. The dependent upén the code already loaded. user should respecify the switch. NCL W W NOT ENOUGH CORE TO LOAD JOB, SAVED specification] The user's program was too large to load into Thus, LINK-10 created a saved file on core. The disk and cleared user core. to load it into core. If the core user can image is perform a GET or RUN operation on the program too big, the user can either employ a still bigger machine or’ obtain a larger core ‘llmlt (e.g., increase CORMAX). 5=22 ~797- LINK-10 LINK=-10 Messages CODE LVL SEV MESSAGE NCX W I NOT ENOUGH CORE TO LOAD AND EXECUTE RUN FROM [file specification] JOB, WILL The user's program was too large to load into core and LINK-1l0 created a saved file on disk. It automatically executes the program by performing a RUN UUO. However, the saved file remains on disk and the user must delete it, if he wishes. NED $F 3E NON=-EXISTENT DEVICE The user specified a device has exist in the the input files type NYI W W NOT The control-C YET that does not system. The user can re-edit to correct the device name or to abort IMPLEMENTEDN user [dev]: issued - a the load. /switch switch that is implemented in this version of LINK-10. not oLC OHC OLS OFX SF $F ERROR OUTPUTTING AREA ¢ LS =STATUS (xxxxxx) 0GS An error occurred while writing out the named area (LC=user's low segment code, HC=user's high segment code, LS=local symbol table , FX=fixup area, and GS=global symbol table). The of status the is represented by the file status word. DECsystem=10 Monitor explanation of the 5~23 file Calls status right Refer for bits. half to the LINK-10 -798- LINK-10 Messages CODE LVL SEV MESSAGE OEL LOG OEM MAP OES OEX W W OUTPUT ERROR ON JOB CLOSED. FILE SYMBOL FILE. XPN CONTINUING STATUS [xxxxxx] An error has occurred on the output file. The output file is closed at the end of the The last data that was successfully output. status 1is represented by the right half of DECsystem=10 Refer to the file status word. Monitor Calls for the explanation of the file status bits. OFN F $F OLD FORTRAN (F40) MODULE NOT AVAILABLE The standard released version of LINK-10 includes the LNKF40 module that loads F40 However, the installation has removed code. loading a dummy version of LNKF40 and it by thus LINK=-10 is unable to handle F40 compiler request his should user - The output. LINK-10 installation to load a version of with the real LNKF40 module. OMN 3F $F OBSOLETE MONITOR WILL NOT SUPPORT LINK=10 the LINK-10 requires a monitor that contains PDEVSIZ UUO. : PLC PHC PLS 31 L3 AREA( LS OVERFLOWING TO DSK PFX PGS The job is too large to fit into the allowed the named area is being moved to and core disk (LC=user low segment code, HC=user high segment code, LS=local symbol table, FX=fixup area, and GS=global symbol table). 5-24 LINK-10 -799LINK-10 Messages CODE 'LVL SEV MESSAGE PSF F F POLISH SYMBOL FIXUPS NOT YET IMPLEMENTED The requested feature is not yet available. 3F RCF &F 'RELOCATION COUNTER TABLE FULL The relocation counter table is a fixed length and cannot be expanded in the current This restriction will be version of LINK-10. eliminated in a future release. %1 $I " REDUCING LOW SEGMENT TO [n] K been deleted LINK=10's internal tables have This message been reclaimed. has core and occurs near the end of loading. %I RGS 31 REHASHING GLOBAL SYMBOL TABLE FROM [old size] TO [new size] table LINK-10 is expanding the global symbol either +to the next prime number as requested next its to by the user (via /HASHSIZE) or In future loads of expansion of abpout 50%. time this program, the user can save LINK-10 new this to table hash the setting by expanded size at the beginning of the load. sF SIF 3F SYMBOL INSERT FAILURE, NON-ZERO HOLE FOUND (1) LINK-10's hashing An internal LINK=10 error. algorithm failed. . A symbol already exists in the location in which LINK-10 needs to place The error may disappear if symbol. the new different in a files the loads the user order. (1) This message is not expected to occur. your to Software If it does, please Specialist or send a Software Performance Report DEC. 5-25 notify (SPR) LINK-10 -800- LINK=-10 Messages CODE LVL SEV MESSAGE SFU $I LD SYMBOL TABLE FOULED UP An internal LINK-10 cannot store The locate the lengths 1loading requested SNC 3F LF the (1) inconsistency. TITLE of the process by the lengths of SYMBOL [symbol] the triplets LINK=10 in control will control not to sections. continues. user order Any maps contain the sections. ALREADY DEFINED, BUT COMMON NOT AS The user has defined a non-COMMON symbol with . the same name as a COMMON symbol. The user should decide which symbol definition he SNL 3I L P! wants. If COMMON area he uses should the be COMMON loaded definition, the first. SCANNING NEW COMMAND LINE LINK~10 has completed the scanning and processing of the current command line and is ready to accept the input on the next line. SOE 'F 3F SAVE An FILE error file OUTPUT ERROR =~ has 1is that was status word. Calls for bits. $I %I by SYMBOL the Refer output. to SORTING not yet appear in in the the order symbol table. 5-26 save file. the The half NOT YET the The last data status of the DECsystem=10 the explanation of TABLE is the right Alphabetic and numeric table on (XXXXXX) at the end of successfully represented SSN occurred closed STATUS file is file Monitor status IMPLEMENTED sorting of implemented. the symbol The symbols in which were placed they -801- LINK-10 LINK-10 Messages ‘CODE LVL SEV MESSAGE SST 31 I - SORTING LINK=10 SYMBOL TABLE is arranging the symbol table in the order specified by the user via the /SYSORT switch, and if required, is converting the symbols * from the new indicated on the /SYMSEG, switch STC $I %I SYMBOL TABLE The symbol to old format /SYMBOL, or sorted and COMPLETED table has bee“ ‘according to the user's LVAR 13) CODE NOT request /SYMSEG, /SYMBOL, or /DEBUG switch. T13 ¥F LF (TYPE as /DEBUG moved via the IMPLEMENTED LINK item type 13 (LVAR) is not implemented in LINK-10 hor supported by DEC. The TWOSEG pseudo-op in the MACRO-10 language should be used. DS W W TOO LATE TO DELETE The /NOINITIAL command string INITIAL SYMBOLS switch was placed in the after the first file specification.‘ Because this switch was not first in the command string, LINK=1l0's initial symbol table was loaded. TEC F F TRYING An TO EXPAND attempt was COMMON made to expand a COMMON area. The largest occurrence of the COMMON area of a given name must be 1linked first. Once defined, the size cannot be expanded although new COMMON areas defined. The of different user should occurrence first. 5=27 names load the can be largest -802- LINK-10 LINK=-10 Messages CODE LVL SEV MESSAGE TSO 'F F CANNOT ILOAD TWO SEGMENT MODULE SEGMENT INTO ONE ’ The user attempted to force two segments into one segment via the /SEGMENT switch. However, the binary file does not contain the necessary information (i.e., the the high segment) in LINK item type situation is usually compiler (e.g.,ALGOL). URC $I %1 UNKNOWN RADIX~50 caused length of 3. This by a one-pass SYMBOL CODE Bita 0-3 of the first word of the 1link item contain an unknown symbol code. Either the translator is generating incorrect code or the binary file is bad. The user should UsSA W W recompile the file. UNDEFINED STARTING ADDRESS The user has given a global symbol as the start address and the symbol is currently undefined. The user should load the module that defines the symbol. -803~ LINK-10 | LINK-10 Examples CHAPTER 6 LINK-10 EXAMPLES EXAMPLE 1 Loading and Executing COBOL Programs The following files are on the user's disk areas ' DIRECT ) FILA r};a FILC 2R 6LNK SIMPLE cel. 2 LOG 1 cBl. MAC 6eFEB®Y3 <P55> 1 ce, P55 62FEB=73 <@P55> 2BuFEHAY3 282FEH=Y3 <P55> 1 £27,232) 6aFEHnD3 P55> 1 oSkBy TOTAL OF & BLOCKS IN 5 FILES ON DSKBY [27,235] automatically In the command string shown below, the user is and executing the programs and generating a map. loading, compiling, The /CONT:ZERO switch is passed to LINK, VEXECYUTE /ZLINK/MAP FILA,FILE,FILCX!CONTIZERO! ) COBOL} CESABA (F1LA,CBL] COBOL { C8Sgac [FILC,CBL) COBOL} LINK? cespsB LOADING LEXECUTION] RUNNING KRUNNING CBSQ@BA HUNNING CBS@B8C CFILB,'CBL ] ‘ - , o CBSg8B EXIT In the followng command sequences the user is compiling the files then directly loading and executing them through LINK=10. and LINK-10 -804- LINK-10 Examples 1COM FILA,FILB,FILC ) c080L 1 cBSE8A [FiLa,cBLI CoBOL| COBQL} cBS@Es CBS@8G [FILB,CBL) CFILC,CBLY EXIT 1ROLINK ) “FILA FILB,FILC,/MAP/CONT{ZERO/EXECUTEAGO ) LEXECUTIONY RUNNING CBS28A KUNNING CBS@8B RUNNING CBS@8C EXIT EXAMPLE The 2 Loading and Executing user assembles the following MACRO program: a MACRO Program tCOMPILE SIMPLE,MAC J MACRD| SIMPLE EXIT In the following interactively search command requests symbols, and sequences, a the user loads the MACRO listing of the relocation counters, undefined global symbols, and then GURREgT VALUE program, program., 'R LINK ) *SIMPLE J o/CQUNTER ) RELOCATION {1 INIT]AL 7] GH’ »/ENTRY J) NO COUNTER LIBRARY 420000 SEARCH SYMBOLS #«/UNDEF INE ) NO YALUE UNDEFINED GLOBAL #«/EXECUTE/GO ) (ENTRY SYMBOLS 14 400025 POINTS) library executes (QCTAL) the LINK-10 -805LINK-10 Examples LEXECUTION] THIS IS A VERY SIMPLE TWO=SEGMENT ' MACRO PROGRAM, EX17 EXAMPLE 3 Loading COBOL Programs and Creating a Saved File In the following example, the user is individually loading each file and requesting a listing of undefined global symbols after each file is loaded. libraries. saved He also After is requesting the searching of the default system searching has been performed, the user creates a file and executes the core ROLINK D sFILAZY ) 6 UNDEFINED BTRAC, TRACE, TRPD, TRPOP, " CBSPBE CBODnT, «F ILB/Y ) SYMBOLS 1277 1214 1213 1327 1260 6 UNDEFINED BTRAC, TRACE , TRPD, CBSVEC TRROFP, CBDOT, GLOBAL 1212 ) #FILC/V GLOBAL SYMBOLS 1367 1473 1371 1615 1370 1454 % UNDEFINED GLOBAL SYMBOLS BTRAC, 2052 TRPD, TRPOP, 2054 2953 TRAGE), CBDDT, 2147 2130 ) #/SYSL1B/U NO UNDEFINED GLOBAL SYMBOLS image. . LINK-10 -806- LINK-~10 Examples *FIL2/SAV/ LEXECUTIONY MUNNING RUNNING HUNNING EXECUTE/GO ) CBS@B8A CBSQ8B CBS@8¢ EXIT FILE SAY 5 <K@55> 23«APR=7S D3KC1 [27,235] t Example 4 Loading LINK-10 The Command File /NOINITIAL /LOGLEVELSY OSK|LINK/MAP /GCONTINOABS s/RUNAMEILINKe /HASHSLZE | 120Q0/TESTIDDT/SYMSEGIH ,LNKEXO,SCAN,HELPER= s LNKINI, /NOSTART LNKSCN,LNKWLD,LNKF]O,LNKLOD, LNKOLD, NKNEW, | NKF4On 1 LNKCST, LNKGOR,, LNKLOG , LNKERR , |LNKMAP , _NKX] T, LNKSUB/SEARCH/GO Running 8198111 8158146 8158J46 LINK-10 With the Terminal as LINK=40 LOG f1le 1 1 L] M LINKei@ 1 1 4 area QY low segment to Load|ing modyl|e LNKEXQ Expanding |ow segment expand area LC 1 1 4 1 8188147 8158147 1 1 4 1 MOV LMN EXP 8158148 8158148 1 4 31 41 LMN LMN Loading Loading 4 BISBJ47 ¢ 8158148 1 8158148 1 8158148 31 low |ow Segmgnt ta 14P eypand 1 1 4 4 1 23nApprw73 to 3158136 BI5BJ46 B158147 8158147 8198117 UMN MOV EXP MOV Log Device Injtiallzetion 1 EXP Expanding MOV Moying the sagment Loading modyle UDDT Moving |ow ssgment to expand area GS Expandinmng |ow segment ta 18P Moving |ow segment to eypand area |C Moving 22P low ssgment 1 MOV MoyIng 4 MOV MovYng |ow segment to eypand area HC |ow sagment tQo expand area 4 MOY Moving |ow seagment to exband area HWC EXP Expand|mg modyle modyle SCNDCL ,SCAN 4 31 ¢ 1 MOV Moving 1 MOV Moying |ow Segment to eypand area LS 8158118 4 4 LMN Loading module low Segment to TOUTS 6-4 te HC 8158118 ¢ segment expand area LC BI5B)18 81561348 |ow to te 41 MOV Moving 24P expang area (3 -807LINK-10 8158120 8156121 8158121 81584214 8158121 8158121 8198123 81%8]21 8158122 8158122 R e o ol ol L} 7Y LY T PR 8158120 8158)2p 8158120 815820 S 8158119 8198139 O 8158149 8158119 e ot oy 8158119 o158}149 8158149 Moving Tow ssgment %o exhand WLMN Loading modyle ,CNTOT EXP Expanding ([ow segment te 3oP MOY MOV Ll e o e e B4R A A 55 FAFS 50 10 18 10 JA A BA SR 0 4 5D 18 A b8 3 A 44 4B 4R 36 ga 8158118 B158)48 6158118 BiI58)48 8158148 815818 8158119 VTN Examples LMN LMN LMN MOV EXP area HE expand Area LS low segment to axpand Expanding |ow segment te 3J4P area HC Moving low segment %o Loading modyle ,SAVE Loead|ng modyle MELPER Loading modyie | INK Moving MoyTng low segment %o expand area L3 Loading modyle L NKSCN MOV MevIing |ow Seagment %o exhang ares HC LMN Loading modyle LNKWLD MOy Moving |ow Segment to expand area HEC MOY LMN EXP Expancding MOV MOV |ew sagment to 38P Moving Jow Segmant ¢o expand Moving |ow Ssegment to expand Area HC area L1¢ area HE EXP Expanding |ow sSegment ta 42P MOV Moving [ow Segment to expang apea LS LMN Loading modyle |LNKF]O MOV MoyTng Jow Segment to expangd area LS Leading modyle NKLOD Meving |ow Segment to axpand Expanding jow segment ta 46P Moving |ow Segment to expand Moving Jow Segment %o expand Load|ng modyle LNKQLD EXP Expand|ng |ow segment ta 5gP LMN MOV EXP MOV MOY LMN Area area HC LS ] . ® A 3 81586129 g158)28 A 4R 8158}28 8158128 Ares |S overfiowinmg to (iSK Meving |ow Segmant ¢o eypand area LS A LMN R Lead|ng mogyl|e l,NKMAP Leading modyle WNKX]T Loading mogyle b NKPRM LMN 8158129 A 5B MOV LMN LMN 8158|3p 8158|3p R 8158129 815868429 PLS , INSUB LMN Leading modyle JOBDAT MPS MAP segment b 8158329 e m 8158134 8158)36 ZHAES A S A 3 8158132 815832 8158133 8158134 8158}34 L TSUBS. WMN lL.eading modyle Leading modyle MOV Moving low Segment to expand area LS EMS End of MAP seamantEXS EX]T segment SST Sorting symbo| tabje EXP Expandimg |oOw segment MOY MovTng low segment to ST¢ Symmbo| te 67P expand area HC table completed FIN LINKe12 finlshed F LOG FILE] gb92v_ane_a geWibue|cTb¥"(ie300)L3502zClew[vep) UMBO|YHWJjuJWuoeugw¢BBeeesssS6641iJe€3y8s64e8 21022708gpluwegolAg9|SopquueAs38 #l4eaedojoey o0QGuuiAdss || 0QuAs | LY LIV |||6o00QdQQUuWuAAAAssss| Examples YTXY} 400 ON340 ges gesg is Wg 6-6 TICLET X(2222 22.2 X -2 /4Y=3eB2u%eg| WNIT wedBodd M| peluwoc| ‘gbacdd s Tadnt 7 spue 3V 3J83S 680XdYp YeY LINK-10 -808- LINK~-10 The Map File o Py [ 14 o a> ) o LINK-10 -809LINK=-10 Examples g3 sbuy & L £ ouey 2’ » fl 14 YOINNT A14v0, %NTY |9 |86 NIGNIS 208%E0y 26720y ¥NEY ST Faasiy SCT IE 6|QuAS - Spue |CQuAs6|QuwAs |6QuAs | SQwAS 39 SAR 484807 [{pO0uuQQAueuAAs4s|Q % d{qequsdjoy 9|qesed|oy s|yeyudojey o-y§|[Qused v OX3IN Y LINK-10 -810- LINK-~10 Examples Example 5 Loading the Monitor '~ The Command File /NOINITIAL /LOGLEVELIL /HAGH!I70R0 TO0Pgs10/5AVEe » TOPS18/MAP 2 /L0OCALS /MAXCOR 200K COMMON, ¢OMDEV, COMMODe + TOPS12/SEARCH /NOSYSL}BRAR Y /GO The A LINK=12 LOQG ] (e - Log S Y S File S e o 23epppa73 104142 JIB4119 Y104149 PI04119 1 1 1 1 1 1 1 1 P104119 1 1 EXP Expand|mg |ow segment ta 28p IP4119 1 104139 7104119 104149 71paje9 104120 71g4]20 Yi04J20 Jig4l2p 1p4l20 104120 vigaj2a P104j2% 1 1 1 1 1 1 4 1 1 1 "1 1 Yio4122 1 Fi04122 Yip4j22 1 1 4 Yip4)22° 1 104122 1 91pa123 Y1p4123 YIPA123 7104123 194123 2ip4f23 FIp4123 1 1 | INKe1@ injtiallzatlon Expanding |ow Segment ta 14P Moving |ow segment to expaAng area DY Loading mody|e COMMON MOV Moving 3 3 1 1 4 1 ¢ |ow Segment to EXP Expanding low segment MOV Moylng |ow segment to 4 4 MOV Moying 1. 4 MOV MovIing Y104121 Yig4j21 Yig4aj22 1 | IM EXP MOV LMN expand area | C ta 3Z2P expand area |C |ow segment to expand area |C |ow Segment to expand area (€ 4 EXP Expanding |ow segment te 3I6P 1 MOV Meving |ow segment to expeand area |5 4 EXP Expand|mg |ow sagment to 4pp 4 MOV MayIng |ow sagment to expand area | S 3 EXP Expa ndimg |ow segment ta 44pP 1 MOV Meving |ow Segment t0 expangd area LS 3 EXP Expanding |ew segmenmt ta 48P 1 MOV MoyIng |ow segment to expand area S 4 EXP Expand|mg |ow segmenmt ts 52P 1 MOV Moving Jow Segment Yo expand area (S 1 MOV MoyTng 41 EXP Expanding low Segment %o 1 LMN LoadIing moegy|e COMD EV 4 MOV Meving 1 MOV Moving 1 MOV Moving 1 EXP low |ew segmemt Segment to expand tp area LS Sep expand area LG |ow msegment to expand area |C |ow segment to expang area |C Expand|mg |ow segment ta 4gP 3 MOV Moying |ow segment %o expand area |$ 3 MOV MoyTng |ow Segmeént to expand ares (S 1 LMN Loading modyle coMMOD 1 EXP Expand|mg |ow segmenmt to 6P 1 MOV MeyIng )ow segment to expang area (¢ 4 EXP EXpanding |ow segment ta #2P -811- LINK-10 LINK-10 R FA LS $a g 91p4)23 V104123 Yipal2s Y104}23 0 3D fA4S SR Y104]24 910424 9104)24 9104124 9104)24 918424 5 43 58 1A FA RS B PR S SR Pipa124 91pat24 Yiv4a)24 710424 Yipal24 9104125 Yipal27 9ipaj27 91g4j27 Yip4ap27 A FE A vyigaya7 Yipa)27 FAGA I Yiga27 91p4)28 Yip4)28 9104128 FPRPPPRBPPRBPBREBHPB B SBRR R Rp pss Examples MOV EXP MOV MOV MOV MovyTing |ow Segment %o gxpanding |ow segmenrt Moving |ow segment to Moving low segment to Moving low segment to MOV Moeving MoV MoyTng sxpang to 43P expand expand expand |ow Segment %o expand |ow sSegment to expand area area apen area area area MOV MOV MOV MOV MOV MOV MOV Moving low Segmant %0 expgngd area MovIng |ow segment to eypand gpea Moving Jow segment Yo expand ares MevIing |ow Segment %0 expand araa MeyTng |ow segment %o expand area MovTing |ow segment to ekpand area MovTing low segmsant to expand area MOV MOV MOV MOV MovIing PLS Area LS overfjlowing to QSK MoV MovIng jow segment to expand |ow sagment %0 |ow Seament to Moving |ow Segment to LMN Leading modyle EJBDAT MOV Moving |ow Segmeant to LMN Loading modyie FILFND MOV Moving low Segment %o MOV MOV Moying Meving low segment to eypand eypsnd expand ares area area area expang area expand area ekpand Moving |ow Seqgment to expand araa Moving - low segmaent %0 expand grea area @ @ A R G ZHAA £ TM 9105135 9195137 105151 S FA PR A A4S 50 Y v e b, ] $A TR 50 A pA LS g Fags @ 0 1 1 i 1 1 i 1 1 i 1 1 1 i 1 1 MOV MOV MOY LMN MOV MOY MOY MOV MOY MOV [ow Segment to expang aresa MovIng |ow Segment to expand Movina |ow Ssegment to expand Leading modyle QONCE area MeyTng loew segment t0 expand Meving |ow segment to expand area MovIing |ow segment to Moving low Segment %0 MeyTng |ow MeyIng low MOV Moving lew MOY Moving low FCF Fina| core MPS MAP MOV EMS i i EXS 1 SST b STC i CSF 1 FIN ‘ 0F Moving segment Moving Eng of Segment to segment to segment to segment to f|xyps eypand expand ekxpand expand area arse area Rrea ares , sggment EX]IT segment Sopting symbol symmbo| table tab|e completed Creating SAV ¢{]le LINKe12 finished LOG F1LE] expand area expand area oW segment %o eypand MAF area araea AvS@dv9468RIIE! N9uHdOS@dY0802202&l|egqoels 2INNgv9NVSvssy.AHPTYiVdyuAdsAYddNaYvyYfy pt¢yP2e2tyvd8t,2ggy2TR||l|[f99IsveaTagllj¢soe8veiE|qlaqo]9eoe3sdblueuguootllnn4isgaeedqyygweuaoai](eu4y6ncu0od4n 2 spue 48 oQuAs | OQWAS | |6QWAsoQuAs| 0QuA0QuAss || wedy NSONOW OAI EISTHT IN3u 0l6odSquwuAAAssis|| [gp4 usbue| pes ed dps p e s e g d U h s s d p g p e s e d h LToQuAs | o|qejeo joy®uon dpppeeedsssfigoeedddpedilsnnnggog |OQouQUuiwAAsSs| e i f U l s e p e s o J d a i O|jooQQQuWuAAAsssg| pppeeosss eeeddJdidfnfigsg oGwAs| pMmMoY jupwWvdABoe3eNdAs'nQapYvo$i4gJ¥3A644gTsXpN£e2BI0LT¢awois[d|Iev®egqdaoeolll(9s9o0)p9e4Wol,e2dg.3/sedya9auiVUub®¥/dueNe2pd|z/|s68y0AV309m48e2o%29l9c103ewl=eppPeeRdcgi¥sssoSapedidRdtdfpgg AloIdvoN0LsydEB0BlL4d4dEyvyLv ££66G$b60EHL28T9S9Y¢ ||ilL99evLqgfIeeeIllqqE99eo U0eoEllNqqiueNaaPQevd|deoojje8eyys0cuuoonnNppaeessoeeJdddiednfhinggs yBo¥fL3vAsVnAhYv ¢Bcyt,yb RlieIqgTeIliE9 LTRELLAAR /(Tsj{32eiw4j3o8dep) LY NOW D d dng pes e LINK-10 -812- LINK=10 Examples The Map File 6|avindojeysuopnelqueiedo|enauonN |uol9oqe3eyNd0 slqeqeso|eN2uwoONelgeyeo|ey®udneué/oQqynaesN0| olgdeando|oy"uoN8/qeaeso|eyuon |u9W]qv0O33N eldgejedojeu®uby olQqeivdo|en®udyoldesesd|ousuoN eiqezed|ay*uonN |ouelWgeyivsNo|dxuelqOeSseNs06lgviebdjou®ulN lNb3ueAgcQeBalYg9fSecqaotl9y @%AzoL8sEdI9yE aIeN%qLoRc|dYe9j§Ne30grqe9oadl¢y9o vLi23B4q98e4l¢Vy aNloeaqseo|dv9y 0|QuAs 6-10 0|QuAs jOQuAs &g intHls 6-11 28 9¢ 85 NYWLYCQ NOMXdQ TY¥I69D ebey 1 19 69 ebed $6QQuuAAss || 6QUWAs | eWeN ebey X0w3H elWeN b obegd pBpeeosseseedddediffiss 8L 1350 bs oleN |¥goi9 |9leqe 19g019 99 Sl 2%. NH1E NEC20 NH4ZD $4onYt 8N/"UGON8|4TNaO83Dn3OsA0N o|luAs ELIRL 69 as 01914 ¥38ddT H9WoNM9ilYE 1R|I%-gL[o1-(EI9!K O[KLY6QOQQWuWAAASiSs| olaeivdojeysuonN pesoddfig -813- LINK-10 LINK-10 Examples ¢l WHISAS L) 84 L9 49 L9L9 11 HIdVd -815- LINK-10 LINK~10 Item Types APPENDIX A LINK Input to LINK=10 Each link .REL file the of the form of composed of a relocatable link specific type of these an octal code number in is item contains first word of half, is Item Types for words binary items of varying information for (.REL) lengths. Each LINK-10. The items is a header word containifig, in the left the item type in the item. and, For in the right half, item types 0-37, (i.e., item include these words. of 1000-1777, the count does the remaining words depends upon the link items are as 1link for The format item. The Use 0-37 Reserved ‘ for DEC Reserved for customers 100-377 400 words); follows: Link Item Type 40-77 relocation individual usually the count of words does not include overhead words types files. Reéerved for DEC : FORTRAN-IV (F40) marker block 401 FORTRAN-IV (F40) with MANTIS information 402-777 Reserved 1000-1777 Reserved 2000-3777 Reserved for 4000-777777 ies:rved to for customers for DEC (not used release of LINK=-10) ex in the first with ASCII customers avoid conflict LINK-10 -816~- LINK-10 Item Types A.l Link Item Types @-37 Link items in have an word, contains words this range identical in the the the 18 right and the type 18 or in the the count word is the header follow. of data relocation are O O+ N w Meaning left Relocate both halves not relocate the relocation word are up more header The relocation bits Relocate are a the all specify the relocation bits Relocate right half of word relocation bytes than for 18 the words next in to the 18 words. half 18 of word of word words item, of there is the item. another word The relocation words are If of not in the count of data words appearihg in the left half of the header word. as the and Do Following included left half item, and following meanings: Byte Value there the 2-bit bytes which that types first word of Following 1less have LOADER program block The half. to words left=justified are format. item word containing up for 0=37 follows: Thus, an item with a word count of 23 decimal would be -817- LINK-10 LINK=-10 Item Types @-37 word 18— ~word 1 — word 17——+——;1: [ 111 l g——word 2 L 1] link item type code ,, 23 18 relocation bytes 18 words —word 1 I_::ggfflgfg E Fyord 5 5 relocation bytes 5 erds A.l.1 Link Item Type 0 This item type is ignored by LINK=-10 and therefore store Totally null words look like information not required by it. carn be to used this item type. A.l.2 Link Item Type 1 CODE . This item type contains code and data. the beginning address remaining words of the starting at that address. specifies the item is to be loaded. loaded into contiguous into which item are The first data word The locations All words, includiné the load address, are relocated as specified by the relocation bytes. If bit 0 of the first data word is 1, the word Radix=50 symbol. plus the next word. The is assumed to be a load addiess is then the value of this symbol Thus, in this case, there is one less actual data word than is indicated by the count in the header word. LINK-10 -818- LINK-10 Item Types A.l.3 This @§-37 Link Item Type 2 item type words. The 0-3) 32 and The consists of first bits symbols, word of of the second word The code bits SYMBOLS are as each with each symbol symbol contains Radix-50 representation of is the value of the 04 This symbol is a global definition. other programs. but different values This symbol user of 14 44 the cause an Its value symbols loading with is available same name unless. the error message. of local not loaded symbols. Local in different modules though the values be symbcl user requests Same as is a block name and structured. code loading 04, to cocde 10, is contains of the is used by translators symbol local without different. is not loaded that unless the symbols. addition that the global addition that the local symbol is the symbol is typeout. a global request. If bit 0 of the 18=35 contain for second This may symbols typeout. with DDT is requests with DDT to symbol The chain (bits the occur block word global can Same as (bits entered into the not an item type 2. even This the Two local symbol and is the error, are This symbol same name suppressed 60 the code an suppressed 50 is a requests causng of follows: This symbol is a program name. It 1is symbol table by a 1link item type 6, (This code should never happen.) 10 bits two symbol. 00 to 4 occupying second word in the pair is 0, then bits the address of the first word in a chain of the global. 1In each request, word contains the address of terminated when the the the right half of right half of next request. the second zero. If bit 0 of the second word in the pair involves additive global processing. is 1, the request When bit 2 of this word is 0, bits 18-~35 contain an address of a word of code. The right half of the value of the symbol requested is added to the left or right half of this word of code according to the following rule: If bit 1 of the second word in the pair is 1, the add -819- LINK-10 LINK-10 Item Types @-37 is to the left half. If bit 1 of the second word is 0, the add is to the right half. The result is stored back into the word of code. (Note that there is no full word add; that result must be accomplished by a left and a right add.) 3-35 contain the When bit 2 of the second word is 1, bits Radix-50 representation of a second symbol, whose value symbol The second depends upon the global being requested. nmust be the last symbol defined before the global request or else it will be treated as a local symbol and no action will occur, unless local symbols are being loaded. When the value of the requested global is determined, it is added to the right half of the value of the second symbol if bit 1 of the second word is 0, or to the left half if bit "1 is 1. Since the actual value of the symbol is not determined until the definition of the global upon which it depends, the code bits of the symbol indicate that the value of the symbol will change and cannot be used to satisfy requests until the symbol A.l.4 is fully defined. Link Item Type 3 HISEG This item type indicates to LINK-10 that code is to be loaded into the high segment. This item type has either one or two data words. The right.half of the first data word is the initial address in the high segment (usually 400000). When the left half of the data word is zero, subsequent CODE items are assuméd to have been produced by HISEG pseudo-op in MACRO-10. This means that the the addresses are relative to zero but are to be placed into the high segment. When the left half of the first data word is negative (i.e., gfeater than the right half) , subsequent CODE items have been generated by the TWOSEG pseudo=-op in MACRO-10. This requires that addresses greater than the right half be placed into the high segment and addresses less than the right half be . placed into the 1low interpreted as the high segment break segment. (i.e., The the first left free half is 1location LINK-10 | -820- LINK=-10 Item Types after #-37 the high segment) being the difference One-pass should between translators set the with the that left half the maximum determine of half is A.l.5 the the data word equal If there is a second data word (e.g., as half the high left and right halves cannot of length of in to of high segment the word. segment break the right half. FORTRAN-10), the right tfiis word is the low segment origin (usually 0) and the left the low segment program break. Link Item Type 4 ENTRY This item type is the entry item and must be the first item in a file if the «REL file is to be 1loaded in a consists of a list of Radix=50 symbols which are words by a relocation search mode, word of zeroes. global symbol in the requests for each undefined global the following module is ignoreq. of entry are loaded. If LINK~10 undefined global The is items ignored. is in A.1.6 LINK This item type the When LINK-10 is checked list load. separated If a match does is not performed. are stored. If the module is If the is loaded, the entry turned on symbol Item Type is is It every 18 in library against not occur, not in library search mode, module is search. the If one or more matches occur, requests again and the entry point bit symbol the library .REL not for this checking loaded, these items the the module are items scanned corresponding table. 5 the end END item and is the last link item in the .REL LINK-10 -821LINK-10 Item Types @-37 file. It contains two wordé whose meanings depend on whether the file contains two segments or one. is the high segment break and the second word is the low segment word first If the file has only one segment, the first word is the break. free If the file has two segments, the first the program‘(this word is relocatable) and the location above second word is the highest absolute address higher if seen, than location 137. A.l.7 Link Item Type 6 NAME This item is the name item and must appear before any type 2 link item The (SYMBOL), item has one or two data words. program name in Radix-50 symboi format. The first word is the The second word, if it appears, contains in bits 6-17 a code for the translator that produced the binary file, and in the right half the (FORTRAN programs use both named and blank COMMON. COMMON to indicate the length length has (bits 6-17) Octal Code 0 meaning of Translator UNKNOWN 4 NELIAC 7 SAIL 12 static COMMON. COBOL uses blank area. for the various translators are as follows: F40 COBOL ALGOL-~60 10 11 LIBOL's blank of Thus, the for FORTRAN and COBOL programs.) The octal codes 1l 2 3 5 6 length PL/1 BLISS~-10 FORTRAN=10 MACRO FAIL LINK-10 -822- LINK-10 Item Types Bits 0-5 @-37 of program the will second word execute. If indicate the value will execute on either processor; execute onlym will execute reserved A.l.8 This at for Link the KAl0 only on the if the of Item Type 7 which execution of the value processor; and the processor. KI10 if one used, user via no in the right half of the program 1last link item of unless this A.1.9 Link This item type internal consists of the If type is a is is is 1, the the program the program value is 2, the Remaining to begin. are series will program values are data last request means of not to a specify for relocation (indicated for one-pass before the has a start is the by the address, translators they are defined. where value chain of language in each the requests word right for that similar to the global requests which have second word of pair equal to each location zero in (i.e., The the the chain). represents and a value symbols value when The item type half in a manner the right half of the addresses Each quantity may be relocatable. each start address included. data words word in The the address INTERNAL REQUEST used of by start the program is 10 the data word left half. in (0, type encountered by LINK-10 ignoring is provided Each this should be Item Type symbols request. to LINK-10 switches). item of the bits which START ADDRESS a relocatable program may be relocafied The these on future. item type contains bits. processor bit is However, are 0 one pointer in the chained in the substituted if a data -823- LINK-10 LINK=-10 Item Types word is @-37 -1, then the next data word indicates a chained request to the left half of the word specified rather than the right half, A.1.10 This Link Item Type 11 POLISH item type is provided for Polish fixups logical operations on are The data are as in each The operators and follows: 0 1 2 The next half word is an operand. The next two half-words form a 36-bit operand. The next two half-words form a Radix-50 symbol which is 3 4 5 global, Add. Subtract. Multiply. a 6 request, The operand is the value of the . Logical AND. 10 11 Logical OR. Left shift. 12 13 Logical XOR. One's complement Two's complement 14 store global Divide. 7 The words a series 6f half-wordé consisting of operators and operands followed by store operators and Stqre addresses. operands and telocatable or externally-defined quantities, Each item contains only one Polish string. item involving arithmetic operators are as (not). (negative). follows: 18 bit value -1 -2 -3 Right half chained fixup (777777). Left half chained fixup (777776). Full word chained fixup (777775). The entire word pointed to is replaqed-and‘the old right half points the next full word. The half word following‘the store operator is used as the the first element in the chain. address to of -824- LINK-10 LINK~10 Item Types §-37 A.l.11 LINK Link Item Type 12 The first Data words in this item type occur in pairs. word When LINK-10 is initialized, the (octal) links numbered from 1 to 20. Each time a specific link is seen, value of each link is set to zero. the current value of the link is stored in the address If link. the new value of the number the of loading, the current value for each link the by is stored seen 1link the negative, the address is saved as the end of the link . indicated specified by of the word pair, and the specified address becomes word second the There are 20 pair is a link number and the second word is an address. the of is At the end of the in address If the end of the link is 0, no end of each link. storing is done. LVAR Link Item Type 13 A.l.12 This item type is used in LVAR fixups and is not currently handled supported by DEC and is not needed because the not is It LINK-10. TWOSEG pseudo-op is superior. The first data word is the location the 1low segment. length of the area needed. The low a variable incremented in area the area needed. by words occur in pairs. then the second word area to use of The second data word is the segment relocation counter is Data words after the first two data If bit 2 of the first word of the pair is zero, in its left half, the address of a contains, fixup chain, and in the right variable by half, the for this fixup. relative in the The chaining occurs with the right half of the words if bit 0 of the first word chaining occurs with the left half of the words. A-10 location is 0; otherwise, -825- LINK-10 LINK=-10 Item Types g-37 If bit 2 to make of a the first word of symbol table value of the fixup. for the A.l.13 the pair is one, fixup. The right The second word is Link Item Type 14 index library half of the Radix-50 the first word is a The created divided into include the library. 1list .of all index is 200 to identify an index to entry poihts the to the to contain sub~items of relocation the LINK-10. (Link item type 4) beginning of the individual remainder various word of the entries. 1lengths. normally The found in item types 14 Each sub-items entry half and thé link item type 4 in the left half. header is list of there library file. the module, the start of contains a -1 is Radix-50 a entry pointer to The right half of symbols. the After index is do not items of a Each sub-item has a header word with the word count the in a octai words long and if there are more right in the Following this the 1list of individual module within the the pointer is the block number of and the left half is the word count within the block for the module. in the the block number is not is representation entries in the library fihan will fit in 200 words, other entries, used INDEX .REL file with pointers modules. are is symbol. This item type is produced by FUDGE2 The then the pair in library of The left half the next last word to signal index item search mode, of the the end of in the index the A-11 index right half. index items are ignored. item If type item and LINK-10 -826- LINK-10 LINK=-10 Item Types @-37 A.l.14 Link Item Type 15 ALGOL This item type is the special ALGOL OWN item. the 1length The first data word The the OWN area to be allocated in the low segment. of is remaining words are chained with the right half of the OWN fixups. A.l.1l5 Link Item Type 16 REQUEST LOAD This item type is produced by the SAIL compiler and is used to request the loading of programs. simple. keeping thereby 1loaded, other files to be LINK-10 Thus, a .REL file can request libraries and relocatable standard When a new file is requested by link item files to be loaded. verify type 16 or 17, LINK-10 searches the appropriate table to the file has to LINK-10 maintains a table for the names of libraries to be loaded and another table for the names of binary string command the not already been specified. specified, an entry is made in the appropriate table. not been has it If that After all files in the LINK-10 command string have been loaded, the files specified in the two tables are loaded. first; the libraries The relocatable binary loaded are files are loaded last. first The data words in this link item type appear in triplets. The word of .REL is contains assumed). the filename in SIXBIT (the extension The second word is the UFD number in binary, and the third word is the SIXBIT name of the device containing the file. A.l1.16 Link Item Type 17 REQUEST LIBRARY This item type is the same as item type 16 except that A-12 the specified -827- LINK-10 LINK-10 Item Types @-37 files are loaded only if they are needed to satisfy global requests. That is, the files are loaded in library search mode. The data words are identical to those in item type 1l6. A.l.17 Link Item Type 20 COMMON ALLOCATION This item type is used to allocate named COMMON areas. The relocation word must be presént, but the bits should be zero. The data words are grouped in pairs, where the first word contains for the name of the COMMON the Radix-50 symbol area and the second word contains the length of the area required by this program., This item type causes LINK-10 to éearch for the specified COMMON area to determine if it has been previously loaded. given in this item type must be less already allocated. than If it has, the length or equal can expand the length Thus, the first program that defines a COMMON area also defines the maximum size of that COMMON aréa. program to thié particular No subsequent area, although COMMON areas of different names can be defined. If the specified COMMON area has not been loaded, the symbol given name is the current low segment relocation value, and the length of the area is added to the low segment relocation counter. A.l.18 Link Item Type 21 SPARSE DATA This item type is used to load data into arrays when link item type is inefficient for this purpose. The data 1 words are grouped in sub-items and each sub~item is treated in the same manner as link item A-13 LINK-10 -828- LINK~10 Item Type type 1. 400 The first word of count of the half beginning address the number of The remaining words If bit 0 assumed of the to be of each data words each Radix-50 in the sub-item, in the left and in the into which the data words sub-item are first word of a a sub-item contains sub-item symbol. The are is left 1, the half first the the count of data words and the right half contains an is A.l.19 Item Types These Link then item types are the value of the a right loaded. the data words. of load address to be half symbol plus word second is word offset. is The the offset. 22-36 not yet defined and return an error message if used. A.1.20 This Link Item Type item type COBOL the data data from DEBUG is used for debugging mode, 37 program). from this 1link the debugging item If item type 1. symbol debugging type is If local is loaded table for COBDDT requested in local (the symbol in the same manner symbols are not required, as the this item type is ignored. A.2 Link Item Type This item type (F40). words. It 400 is output does It contains FORTRAN by the (F40) o0ld one-pass not contain a word count, only the one word A-14 FORTRAN-IV relocation words, indicating the item type complier or data code. -829- LINK-10 - LINK-10 Item Type 401 A.3 Link Item Type This item type 401 FORTRAN (F40) is similar to link item type 400 and indicates that the file contains MANTIS debugging A.4 Link Item Types Link items general type number in the left unlike 1000-1777 is a count of information. formats. There is half and a word count in the right 18 a half. 1link item types 0-37, the word count of item types words). all The followinyg words structure of including overhead words the relocation words depends upon the link item; there may be any nufiber of relocation bits from to it in tha£ the first word of each item contains an item However; (relocation addition 1000-1777 in this range do not have identical pattern in 1 per half or full word.‘ Link items that do not need relocation do not have relocation words. These item fypes are nbt used in the first release of LINK-10, A.4.1 This Link Item Type item type is 1000 ignored by LINK-10 and thus can be used to store information not required by it. A.4.2 This Link Item Type 1001 item type SIXBIT is symbols. ENTRY the simple entry item and Each data word contains which éan be almaximum of six characters relocation words, However, the two thus item distinguishing types are used consists in this in A-15 the one of same 1list left-adjusted length. item a type There from item manner. of symbol are no type 4. -830- LINK-10 LINK-10 Item Types A.,4.3 1000-1777 Link Item Type 1002 LONG ENTRY This item type contains one extended symbol (i.e., the symbol contains six characters) in SIXBIT, which is tested to determine if than more it is required as an entry point. same manner as A.4.4 link item type Link Item Type 1003 This link item type is used in 1001. NAME This item type contains information about the file and the that produced it. The the in information translator this item is stored in the symbol table and can be output on a map listing. T'he data words occur in triplets. The left half of the first word of each triplet contains flag bits for that triplet and the right half is unused. program name in SIXBIT in the second word. This program name is taken from the TITLE statement in a MACRO-10 program. is If the program name longer than six characters, one or more triplets follow containing Triplets following the the remaining characters of the name. name the The first triplet of data (the primary triplet) contains identified are triplet. by the flag bits in program the first word of each The triplet after the name triplets contains the low segment relocation counter in the second word and the high segment relocation counter in the third word. The next triplet has, in the second word, the SIXBIT name of the translator that produced the filé and in the third word, is taken the version number of the translator. from location 137. The following This version number triplet contains the compilation date and time obtained from the LOOKUP UUO A~-16 block in the -831- LINK-10 LINK-10 Item Types second used, 1000-1777 word, and in the in case LINK~10 third could word, not a default determine code the for the translator translator from the information in the previous triplet. The default translator codes are listed in Paragraph A.1,7. word, the name of the device in the third word, the information in The next triplet contains the on which SIXBIT next the filename triplet is the source of the source in file is source the second stored, and file. The filename extension the second word and the name of the UFD containing the sburce file the third wqrd. The next triplet .contains sdb-file in in directory information. The folldwing triplefi contains the version number of the source as file obtained by the translator that processed the The information in the last triplet is interpreted as ASCII is stored in the several must be the link item may be seen per module for programs source same text and format in which it is given, More than one NAME from file. in files. the The program and compiler name the NAME link items, but the source made triplets filename and any remaining triplets can be different. A.4.5 Link Item Type 1004 RELOCATION This item type consists of groups of words (usuélly pairs) without any relocation words., The first data word of the item type contains the total number of relocation groups space can be allocated. relocation level in the in the item in order that sfifficient The firstvword of each relocation group has a left half-and in the relocation counter name the count of in the right half. in each group are the relocation counters. A=17 The the number of words The remaining words relocation 1level is -832- LINK-10 LINK-10 Item Types the 1000-1777 the table of relocation counters, such that for any in position word needing relocation, the value of the relocation byte will receive the correct constant for addition. not yet defined resolved), it must If a relocation counter is expression not yet complex a (or be placed in the undefined table, and its slot in the relocation tables is marked All code to referring undefined. as the undefined counter is stored in the fixup code In other words, if the location into which area or on the disk. is Polish to be loaded is not yet defined, all the code under the relocation type 1004 can appear relocation counter is used. relocation is counter counter is .HIGH.. and anywhere must The standard name .LOW. used be for item Link counter must be placed in the fixup table or on the disk. whenever a new the low segment and the standard for the high segment These counters normally occupy positions 1 and 2 in the table of relocation counters. A.4.6 Link Item Type 1005 This item type is undefined and reserved for future definition. A.4.7 Link Item Type 1006 START This item type contains the start addresses relocation word with consists of a relocation, followed by the list of order of their use. for 4-bit relocatable the bytes start program. It full word for addresses in These addresses are used or ignored depending on the switches given by the user. Currently, only one start address per program is recognized. A-18 -833- LINK-10 LINK-10 Item Types 1000-1777 A.4.8 Link This item type symbolic Item Type 1007 START is used for start additional addresses. The words for each start address. flag bits bit is follows. A.4.9 1link addresses item is divided The first word of each or external into groups of éroup contains in the left half and the count of the number of words group in the right half. this start 1, a Currently, bit 0 is fihe only flag Polish . expression follows; if it is in bit. 0, a If symbol This item type does not inclfide relocation words. Link Item Types 1010-1017 CODE The link items in the range 1010-1017 are similar except for the of the relocation byte. The most general word, but this method consumes too much Item type 1010 relocation right the has counters half of a byte size of and absolute code. case uses spaée 2 bits, for 18 bits simple thereby the word and is positive; per half programs. allowing Relocation occurs size three only on the the left half is considered absolute. Since in most programs the half (op-codeé, in&exes, ACs) and relocatable addresses or 1left constants in the right most programs. Item type 1011 also half as well as three relocation has half, this the code consists item 2-bit bytes but the right half of counters plus type should be has relocation the word. absolute code. used mainly for table generatioh. A-19 of This constants sufficient for the in for left item type allows Link item type 1011 is -834- LINK-10 LINK-10 Item Types 1000-1777 item to (similar 1010) type word the Item type 1012 allows relocation only for the right half of but has a byte size of 4 bits, giving allowances for 15 relocation counters. Item type 1013 allows relocation for both the left and right halves of the word (similar to item type 101l) but uses a 4-bit byte size. Item types 1014-1016 are reserved for future use. Item type 1017 has 18 bits of relocation per half word. A.4.10 Link Item Types 1020~1027 All symbols are in triplet 1020-1027 differ SYMBOL The format. symbol word symbol value). each relocation CODE corresponding range This byte For item. type 1020 and code type 1010 use 2-bit bytes, symbol type 1022 and code type 1012 use relocation the in items only in the size of the relocation b-te. is the same as the byte size for the example, 1link applies only 4-bit bytes, The forth. so and to the third word of the triplet (the symbol Thus, for example, in the case of type 1020, word is followed by up to 18 triplets rather than 18 words. A.4.11 Link Item Type 1030 POLISH This item type is provided for Polish fixups and consists of operators and operands, pre-fixup form. including store operators store and Each item contains only one Polish operands string, but in may contain many different store pointers. Operators aré stored one per half word, and symbols are stored in A-20 contiguous half words. Store LINK-10 -835- LINK-10 Item Types 1000-1777 are in the form of either an address in a halfword or a byte pointer in a full word. Associated with store pointers are store pointers shift the to wvalue the correct field and store operators that operator. The store operator may also point to a symbol that is to be stored in the symbol table, [-3 w N O The operators and operands are as follows: The next half word is an operand. The next two half words form a 36-bit operand. The next two half words form a 36-bit symbol which is a global request. The operand is the value of the global. The next half word is the count of half words in an extended symbol. The subsequent half words are the symbol. The next half word is a numeric relocation counter for the G program. The next two half words are a symbolic relocation counter. words in The next half word is a count of the number of half followin g The counter. on relocati an extended symbolic halfwords are the relocation counter. 7 10-77 100 101 102 103 104 105 106 107 110 111 112 113 The next two half words are a byte pointer to code already byte pointer loaded. Reserved for future use. Add Subtract Multiply Divide Logical AND Logical OR Left Sshift Logical XOR (LSH) One's complement (not) Two's complement (negate) Get contents (MOVE) Reserved for future use The store operators are as follows: 18 Bit Value -1 -2 -3 -4 Right half chained fixup (777777). Left half chained fixup (777776). Full word chained fixup (777775). The next two half words are a A-21 LINK-10 -836- LINK~-10 Item Types 1000-1777 (777774) . -5 The next two half words are an instruction plus an address (ANDM,XORM) (777773). The next two half words are a symbol and the value -6 ‘ is -7 stored =10 (777770) . -11 -12 two (777767). The =13 store operators is usually Addresses fixups, can be the address of A.4.12 Link This next the the in words words are (777772). The following half obtain arguments their value other in 1031 similar post-fixup the preceding element Item Type and using word first a symbolic half word is a count words in an extended future use. built is half (777766) . Reserved for the half item type notation half counter counter. word the The next half The in The next half word is the count of the number of half words in an extended symbol. The half words following are the extended symbol and the value is stored in these half words (777771). The next half word is a numeric relocation counter the the symbolic words from a second is Polish the of are stack; relocation number of relocation the the the memory operators., store operator counter first address. For chained is used as the chain, POLISH to form item is type used. The 1030 except operators that Polish and operands are same, A.4.13 Link These item A.4.14 There types Link are Item Types are reserved Item Types three kinds 1032-1033 of for future 1034-1037 use. CONDITIONAL conditonal loading A=-22 item types: the Begin -837- LINK-10 LINK-10 Item Types 1000-1777 conditional, the End conditional, and the Else conditional. The Begin conditiqnal has a unique number assigned by the translator 'which is matched with the unique number in the End and Else conditionals. It also contains a conditional operand and operator.. The End conditional cancels the conditional generates the explicitly next conditional in three kinds_of has that is relocation conditional.number. LINK-~10 matches that level., left half so that code is loaded items the relocation counters, relocation inverse of The Begin Conditional four updates the condition relocation counters. the implicit defined by the user, The Else conditional A.4.14.1 loading, counter, is the if condition the condition not loaded. in the Begin is false. The can be nested. - Link Item Type 1034 - This bits per half word thereby allowing Thé first data word contains item type 15 possible the unique If a number is not specified, zero islassumed and the Begin with the first End or Else conditional at The second data word contains the conditional operator in and The conditional the conditional operand in operators are coded as follows: 5 null if zero if greater than zero if greater than or equal to zero if less than zero if less than or equal to zero 6 if not equal 7 10 11 12 it following code can be +the remaining words contain the rest of the operand. 0 1 2 3 4 if and to zero if defined if not defined if global if local A-23 right half. The -838- LINK-10 LINK=-10 Item Types 1000-1777 The operand is cannot evaluated, the words are stored on the disk. be either a symbol or a Polish expression. If the operand The operands are: 100 , 101 The next two half words coritain a SIXBIT symbol; 102 The next half word is a count of +the number of half words in an exterided symbol. The following words contain the SIXBIT symbol. ' A pre-fixup Polish expression follows (refer to 103 A post-fixup Polish expression Paragraph A.4.11). follows (refer to If the condition is met, all code up to an End or Else conditional is Paragraph A.4.12). loaded. When the condition is not met, A.4.14.2 The Begin Conditional type similar is +to Link - Link the code Item Item Type 1034 is Type except not loaded. 1035 that - This it has item half word relocation per half word. A.4.14.3 The Else Conditional contains no relocation words number matching the Begin conditional Else is the one conditional to = Link Item Typé 1036 = This item type and has one data word in the Begin conditional. is true, the code in its matching End conditional or to conditional 1is ignored. If the condition is containing If a unique the condition in the current the not Else next matching true, the code loaded. A.4.14.4 also has no matching Begin The End Conditional relocation words. the one - Link Item Type The first data word in the Begin conditional. conditional is 1037 If the -~ This is a unigque condition false and no Else conditional A-24 item is seen, type number in the the End LINK-10 -839LINK=10 Item Types 1000-1777 conditional is ignored. conditional is read. However, if code was loaded, the End The item type cbntains one data word for each relocation counter used in the same order as specified ih the last relocation setting link item. The data words are the highest value of These the relocation counter used in the conditionally-loaded code. values are added to the current values, and to the accumulation of such values, until the final END item type of the REL file. A.4.15 .Link Item Type 1040 END This link item marks the end of a link module. It does not contain counters relocation words but does contain a list of all relocation d used and their final values. Any conditional code that was loade the plus other overhead items, such as the ALGOL item, are added to final values. The resulfiing values are Ehen added to the current next values of the relocation counters to obtain the value for the module. The beginning and ending addresses are stored in the symbol table in order that DDT has the range of the program and tha£ they can be output in a map listing. A.4.16 Link Item Type 1041 Special FORTRAN-10 Block This 1ink item defines a call to a special once-only routine that is to be executed by LINK-10 after all code has been loaded. A.4.17 Link Item Type 1042 Program Request This link item requests the loading of .REL files required for this program. It is similar to 1ink item type 16; however, there are no A-25 LINK-10 -840- LINK=10 Item Types 1000~1777 relocation words. and 1is wuseful specifies when filenames The data appears the This item replaces loading rather in groups real and than modules of need for dummy library routines Name of the device Name of the file of the UFD because it names. four or more words. the directory in in Each group contains in file. SIXBIT in the left half, and the number of Link sub~file the end of 1libraries and requested files be requested, 1043 Library can Item Type directory loading libraries names and are (link in SIXBIT. loaded item for all unresolved entries or 1043), in search Request for particular modules. identical to that in item type 1042, A.4.19 These Link item Item Types types are 1044-1047 reserved for before type This item type requests the searching of libraries, either mode length in octal. default A.4.18 the the right half, The requests are stored until the containing SIXBIT. file in SIXBIT Remaining word in the s group are is searches following words: Extension of Any the future A-26 use. The data LINK-10 -841LINK-10 Item Types A.4.20 1000-1777 Link Item Type 1050 Global Data This item type contains data that is common to many programs (i.e., constanfis, argumént‘iisté; literals in MARCO-lO 1angdage). _The global data item_consists of two other link item (type 1004) and a code items: item (types 1010-1017). glbbal data item has no relocation words. header of the the rélocationr setting The initial The first data word is the relocation item and only the relocation actually used should appear in this word; all other entires should be =zero. The next data words are fihévdata for the relocation item. Following these data words is a codé‘item with reiocation bits and data which may be feldcatablelor absoque. LINK~-10 collects all the global data blocks, compares them, and keeps.dnly one copy of those with the same data and relocation. The global data items are lo&deé,at the end of loading or immediétely after a /DATA switdh is seen. Tfiese items should reduce the size of loaded programé be¢au$e of pooling of literals. A.4.21 Link Item Types Greater Than 3777 ASCII These items are recogniéed by the ' first seven (i.e., an ASCII character)., Termination of the item occurs generated by ASCII is being non-zero no word count in the at a null byte. These item. items are translators and contain ASCII commands similar to those tjped on the user's terminal. file. There bits Thus they are similar items allow the overlay structure to be to an embedded in the file to simplify the maintaining of large overlay programs. A=27 indirect LINK-10 | -8u3LINK=-10 LOADER and LINK-10 Differences APPENDIX B LOADER AND LINK-10 DIFFERENCES This appendix is intended as an aid for users wfio have been employing the LOADER program and who are now converting to the LINK~10 program. Both programs are linking loaders. Both have the same basic functions of loading and relocating user's object code modules and résolving references among the modules. version more of LOADER. flexible piece But LINK-10 is not just an updated It is a completely new, more sophisticated, and software. of This appendix itemizes the differences between the two programs in order to facilitate conversion to LINK-10, LINK=10 LOADER The default output device is The default output device is The default name of the MAP file is MAP.MAP. - The default name of the MAP the last file is the name of start address. a program with program with a If there is no TTY. : DSK. address, the default name start is nnnINK.MAP, where nnn is the user's job number. Command f£iles are specified Command files are specified Input and output specifications are separated by a back-arrow (+). Thus, an output. file is defined as being on the Input and output specifications may be separated by an equals sign (=), but this is not required. An output file is in the form * file @ The default extension of the command file is .TMP. in the form * @ file The default extension of the command file is .CCL. =844~ LINK-10 LINK-10 LOADER and LINK-10 Differences left side of the back=-arrow. specified by giving a file specification output switch. The only output produced a map by to produce map, file. symbol, line are feed>) treated in the same way as commas (i.e., they terminate specification). File dependent or until a the in effect until subsequent the end of the switch until a new device To load FILEl then is local load DDT, sequence symbols FILE2 could end of the line they belong. to which specified source device for the commands for loading a program on a single 1line. A hyphen is wused as the line continuation character. To load local symbols for FILEl and FILE2 and then to load DDT, sequence used: */S is the following used: */LOCALS FILEl,FILE2, * /TEST /GO *FILEl1,FILE2 */W/D$ Note that if the /LOCALS had appeared on a itself, it would have effect. To search FILEA and in library search mode, FILEB the To switch line had search FILEA and FILEB in library search mode, sequence is: the * /SEARCH FILEA,FILEB */L * FILEA,FILEB remains the default until a new device beginning of each line. 1In general, it is best to place all the following sequence: , The most recently specified and be LINK-10 has a line oriented scanner. All file-dependent switches are turned off at the is specified or until the end of a line is reached. Standard defaults are restored at the the end of the load. carry across lines. and log, load. The most recently specified source device remains the default or until Defaults save, and XPN files. /GO. Line terminators (e.g. <carriage return, remain an The only exit condition is Exit conditions are /G, altmode, and 4Z. switches by LINK-10 can be instructed file LOADER is overridden by followed The sequence by no -8145- LINK-10 LINK-10 LOADER and LINK-10Q0 Differences * /SEARCH could be used. *FILEA,FILEB and does not cause FILEA FILEB Instead, they searched. be to are loaded in their entirety. When performing a search of the default libraries at the end of the load, LOADER makes one pass through all required libraries. 1In addition, LIB40 is always LINK-10 performs multiple passes through all required libraries until no undefined symbols remain or until no additional 1In routines have been loaded. addition, LIB40 is not automatically searched unless it searched. is required by an program. F40 MACRO loading when Thus, routines programs which utilize must user the LIB40, in explicitly request that LIB40 be JOBDAT.REL is Also, searched. the unless searched not used. is switch /NOINITIAL automatically LINK=-10 symbol global its initializes table to include JOBDAT symbols. The /D and /T switches load with local symbols. This mode remains in effect until it is turned off with the /W switch, and remains off until another switch which loads local symbols is given. The /TEST and /DEBUG switches instruct LINK-10 to load all subsequent files with their The /NOLOCAL local symbols. switch can be used to is The following which table performs lists suppress the loading of local symbols. However, since the /NOLOCAL is switch is file dependent, it the end of the line at cleared and load with local symbols mode reinstated. each LOADER switch and the nearest equivalent action. the Note LINK-10 that switch there is not always a one-to-one correspondence between the action performed by the LOADER switch and by the LINK-=10 switch. Refer to Chapter 4 of the LINK-10 Programmer's Reference Manual for the complete descriptions of the LINK-10 switches. LINK-10 -846- LINK-10 LOADER and LINK-10 Differences LINK-10 /A /CONTENT : ZERO /B /SYMSEG: LOW /1B /SYMSEG:HIGH /nnnnB /PATCHSIZE:nnnn /C No equivalent not support switch. the old LINK-10 CHAIN /D /TEST:DDT or /TEST:MACRO /E /EXECUTE /F /SYSLIB /1F /FORSE /2F /FOROTS /G /GO /nnnG /START:nnn /H /SEGMENT : LOW /1H /SEGMENT : HIGH /nnnnH /SET: .HIGH, :nnnn /-H /SEGMENT : DEFAULT /1 /NOSTART /3 /START /nK /RUNCOR:n /=K No equivalent /L /SEARCH /M /MAP : END /1M /MAP : END/CONT : LOCALS ENT does facility. | switch. Use /RUNCOR, -847- LINK-10 LINK=10 LOADER and LINK-10 Differences /N /NOSEARCH /nnno /SET:.LOW. :nnn /P /NOSYSLIB | end of the command /Q /SYSLIB at the /R does LINK=10 No equivalent switch. not support the old CHAIN facility. /s /T string. /LOCALS \ 4 /DEBUG:DDT or /DEBUG:MACRO /U /UNDEFINED /v /OTS:HIGH /=v : LOW /OTS /W /NOLOCALS /X /CONTENT : NOZERO /Y /REWIND /2 : LINK /RUN LINK-10 ~ | -849LINK-10 Glossary GLOSSARY Absolute Address A fixed location in user virtual éddtess épace which cannot be reiocated. For example, the high-speed accumulators on the DECsystem-10 occupy locations 0 through 17 (octal) in the virtuai address space. All modules that accumulators must reference these locations. 0 through 17 (octal) user's reference the Thus the addresses absolute addresses are absolute addresses. Absolute Module A module whose location counters are set to only. Address Binding The assignment of virtual address space to the space in computer memory. DECsystem=10 monitor and This is is physical address automatically performed by the completely invisible to user programs., Assemble To prepare a machine-language module module actual numeric operation codes for by substituting the from symbolic operation codes, énd absolute or for symbolic addresses. Glossary-1 a symbolic-language relocatable addresses LINK-10 -850- LINK-10 Glossary Assembler A program which accepts symbolic assembly code and translates into machine instructions. MACRO-10 is it the standard assembler supplied by DEC. Base Address An address used as a basis address. for computing the value of This computation is usually of final address = base address (+ or some other the form =) offset. Clear To erase the contents with blanks COMMON or of a location replacing the contents zeroes. Area A section in a program's common address use by many modules. written in the space which COMMON FORTRAN is is usually language. independently-compiled modules Control by to share set for set up by modules It the aside is used same data by locations. Section A unit of code entity and destroying from one positions (instructions and/or data) that can be relocated the logic of Control in user virtual to another address Glossary-2 is c¢onsidered an separately at load time without the program. Section that Control is regardless space. A passed of properly their relative Control Section is -85] - LINK-10 LINK-~10 Glossary identified of code by a relocation counter and thus that can be relocated is the smallest unit separately. Default Directory The directory in which specification has the it may Monitor searches not been given by the user. UFD corresponding number but the to the another user's UFD or a directory Typically, logged=-in a SFD if this is project-programmer (sub-file directory). Directory A file which contains the MFD device. is The the names and pointers MFD, UFDs, containing the UFD or a higher-level the UFDs. files project-programmer number area. to by a other and SFDs are directory the directory containing all directory to existing The SFD is SFD. The The SFDs a files files. UFD in directory exist as The is a on the given pointed files under the UFD. External Symbol A global symbol another module. declare a CALL symbol statement which The is referenced EXTERN external. in a in one module statement A subroutine FORTRAN module external. Glossary-3 in MACRO-10 name is but defined is referenced in used to in a automatically declared LINK-10 -852- LINK-10 Glossary File An ordered collection instructions and/or data. disk or magnetic the of available tape, space 36-bit A file words is and can be of comprising computer stored on a device, any length, such limited only as by on the device and.the user's maximum space allotment on that device. File Specification A list of A complete identifiers which uniquely file specification consists of: on which the file extension, specify a and is stored, the name the name of of particular the name of the file the directory file. the device including its in which the file is contained. FUDGE2 A system utility program used to update libraries containing one or more modules and to manipulate modules within these libraries. To transfer a saved program from a file on into GET memory using a bootstrap program or places a program into memory. operation and, operation differs in addition, The device the Monitor. from the LOAD operation the core The GET command RUN command performs starts Glossary-4 a program. the The (refer to LOAD). same GET _853- | LINK-10 LINK-10 Glossary GLOB A system utility program used an - alphabetical When a communicate via 'global modules Global read cross-referenced encountered. alphabetical to program list of in which is are list of composed symbols, all global they libraries it all and the to generate global symbols of many is wuseful to have an the names of the symbols with defined and modules which referenced. Request A request Global Symbol A symbol which to LINK-10 that it is link accessible is defined. LINK-10's global symbol to symbol definition is a global symbol to modules to other The value of a global table the when a module. than the one in symbol is placed in module containing the loaded. High Segment That portion relative code that of the location can be write-protected user's 400000, shared in addressing space, which generally by other order to users. is This presérve usually beginning used contain pure to segment the data. is at usually The user can élace information into a high segment with the TWOSEG pseudo-op in also MACRO-~10. have Higher-level provisions for language, loading pure Glossary-5 such as COBOL and FORTRN, code in the high segment. -854- |.INK-10 LINK-10 Glossary Initialize To set counters, switches, or addresses to zero oOr other starting values at prescribed points in the execution of a computer routine. Internal Symbol A global symbol located in the module in which it is defined. In a MACRO-10 program, a symbol is declared internal with the INTERN or definition which pseqdo-ops the names a generate global is used to satisfy all global requests for the In FORTRAN programs, internal symbols are symbol. match These pseudo-op. ENTRY of SUBROUTINEs, FUNTIONs, internal symbol is similar to a library search and generated to ENTRYs, An syfibol; - however, it will not cause a module to be linked in search mode. Job Data Area (JOBDAT) The first 140 octal locations of a user's area provides Monitor and the storage wuser's for address space. This certain data items used by both the program. Refer to the DECsystem~10 Monitor Calls Manual. Label A symbolic name used to identify a location in a program. Glossary-6 -855- LINK-10 LINK-10 Glossary Library A relocatable binary file containing one or may be loaded in Library Search Mode. modules edit a‘ collection binary modules into a library file. for editing of PIP can also be used to merge relocatable binary modules into a library, has no facilities which FUDGE2 is a system utility program which enables users to merge and relocatable more but it libraries. Library Search Mode The mode in which a module only if one or more (one of many in a library) of is loaded its declared entry points satiéfy an unreéolved global request.. Library Search Symbol (Entry Symbol) A list of symbols that are matéhed against unresolved symbols order to load the apérop;iate modules. in This list is used only in library»search mode. A library search symbol is defined by an ENTRY statement in MACRO-10 and BLISS-lO and ‘a.SUBROUTINE, FUNCTION, or ENTRY statement in FORTRAN. Linker A program that combines many input modules into a for Thus, loading compilations purposes. of modules. references and may it Typically, combine control Glossary-—-7 allows it sections. single for module independent satisfies global LINK-10 -856- LINK=-10 Glossary Link To combine which independently-translated modules all relocation that module resolved and based all on of addresses external the has of one been performed references definition into to symbols internal symbols. module in relative to have been relocation, and Linking Loader A program linking of that provides compiler automatic loading, and assembler generated object modules. Load To produce a core image relocatable binary addresses to absolute confused with from a saved Local the file and/or files a saved (REL files) addresses. file by This GET operation, (refer to GET). from transforming operation which one or relocatable 1is not initializes more a to core be image Symbol A symbol Because known only to it accessible is not the name with different values These modules conflict. modules; can Local symbol by mechanisms in be module 8ymbols conflicts are which it to other modules, can appear 1loaded in and in more primarily the than executed used program. Glossary=-8 defined. same symbol one module. together without when between different modules the debugging is are debugging resolved -857- LINK-10 LINK-10 Glossary Low Segment The segment of user virtual address space beginning at zero. length of the low segment Data Area. When writing -Place data locations and is stored in location .JBREL of two~-segment programs, it is impure code in the The the Job advisable to low segment. Main Program The module execution containing normally the address at which object program begins. Module The smallest composed code In entity of between a statement collection the FORTRAN, is IDENTIFICATION that TITLE and can be of control END by code between a module. In LINK=-10, sections. statements the DIVISION loaded In It is MACRO-10, the represents a module. the first statement and the END COBOL, statement the and code the between last statement the is a modu;e. Module Origin ihe first location in user virtual address space of the module. Object Module The primary output of linked program. with other an assembler object This output is or modules composed Glossary-9 compiler, and of the loaded which can be into a runnable relocatable machine -858- LINK-10 LINK=-10 Glossary code language relocation the for information, module translated and the (i.e., link items), corresponding table symbol listing the definition and use of symbols within the module. Object Time System The collection of modules that supports the compiled code particular This language. for a collection usually includes I/0 and trap~handling routines. Offset The number of locations relative to zero that a Control Section must be moved before it can be executed. Operating System The collection of modules that automatically job processing user and by system scheduling programs, continuous permits and controlling the operation of performing 1I/0, allocating and resources for efficient use of the hardware. Physical Address Space A set of memory locations where information can actually be stored (i.e., core memory) for the purpose of program execution. Program A collection of routines which have been produce a saved file or a core image. Glossary-10 1linked and loaded to These routines typically LINK-10 | ~850LINK=-10 Glossary consist of a main program and a set of subroutine which may have come from a library. Pure Code Code which is never modified in the process of execution. Therefore, it is possible to let many users share the same copy of a program. REL File of 1link items as an An address within a module which is specified offset from One or more relocatable object modules composed (refer to Appendix A). Relocatable Address the first location in that module. Relocatable Control Section A control section whos.addressés have been specified relative zero. Thus, to the control section can be placed into any area of core memory for execution. " Relocation Counter The number assigned by LINK-10 as Control Section. the beginning address This number is assigned in the process of Glossary-1l1 of a LINK-10 -860- LINK-10 Glossary loading image specific Control Sections and absolute 41is transformed into a saved from a file relocatable or a core quantity to an quantity. Relocation Factor The contents of This number Control is The relocation base address and the actual which the module for a control section. added to every relocatable reference within the Section. relocatable 400000) the relocation counter for address factor is the control determined section in user virtual from (usually address the 0 and space at is being loaded. Routine A set of specific instructions and data for performing one or more functions. Segment An absolute Source Control Section. Language Program The original, untranslated version of higher~level language programs, primary when translated, output. object module, (e.g., A program a FORTAN, produce may and a runnable core Glossary-12 program COBOL, object written MACRO). modules in Source as their exist as a source program, image. a an LINK-10 « -861LINK-10 Glossary Symbol Any identifier (composed of SIXBIT charactérs) used to a represent value that may or may not be known at the time of its original use in a source language program. language statements as Symbols can appear labels, addresses, in source operators, and operands. Symbol Binding To resolve references in one module to symbols which are defined (i.e., are assigned a value) in another module. Symbol Table A table containing entrie for each symbol defined or used within a module. Translate To compile or assemble a source program into a machine program, object module. usually in the form of a User Virtual Address (relocatable) language Space A set of memory addresses within the range of 0 to 256K words. These addresses are mapped intd physica; core addresses by the paging or relocation—protection haidware when a program is executed. On a KAlO0 processor, the range of addresses is limited by the amount of physical core available to a given user. Glossary-13 LINK-10 -862- LINK-10 Glossary User's Program All of the code virtual address Zero running uder control of the Monitor in a user space of its own. Length Module A module containing symbol definitions words (e.g., JOBDAT). context refers to the Note program that but no the length of Glossary-14 instruction or word "lengthTM the module after in data this loading.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies