Part 9 The DOS/BATCH Linker Link

Order Number: XX-5DD5C-65

This document details LINK, a crucial system program for the PDP-11 Disk Operating System (DOS/BATCH), designed to link and relocate user programs. LINK processes object modules from assemblers or compilers, assigning absolute addresses, resolving global symbols, and generating executable load modules along with comprehensive load maps. Its advantages include promoting modularity, efficient reassembly, and automatic memory allocation, enabling larger programs and the reuse of subroutines.

The document outlines LINK's operating procedures, including how to load and execute it, the syntax for command strings, and the use of indirect command files for batch operations. It elaborates on various switches that control LINK's behavior, such as specifying program placement in memory (/T, /B), handling concatenated files (/CC), linking with ODT (/OD), defining transfer addresses (/TR), managing input/output termination (/E, /GO), and including/excluding modules from libraries (/IN, /EX). It also describes options for generating detailed or summary load maps (/LG, /SH, /CR) and creating contiguous output files (/CO).

A significant section is dedicated to "Overlays," a memory management technique for programs exceeding available core memory. Overlays are defined using an Overlay Description Language (ODL) that describes a tree-like structure of program segments. The document explains "manual load" and "autoload" mechanisms for dynamically loading these segments and details the ODL directives (.ROOT, .NAME, .FCTR, .PSECT, .END) and operators for managing overlay structures. It further covers memory organization for both nonoverlaid and overlaid programs, including segment tables and autoload vectors, and the memory allocation process LINK employs.

Additional topics include optional linking inputs like absolute patches (ABSPAT), extending control sections (EXTSCT), defining global symbols (GBLDEF), and applying global patches (GBLPAT). The document also describes the internal structure of LINK's input (object module record types like Global Symbol Directory, Text Information, and Relocation Directory) and output files (Program Load Module File Structure, Core Image Descriptor, Communications Directory). Finally, it clarifies program section directives (.PSECT, .ASECT, .CSECT) and their attributes (e.g., access mode, scope, relocation) which govern memory allocation and facilitate code/data sharing within programs.

XX-5DD5C-65
May 2000
98 pages
Quality

Original
3.0MB

Site structure and layout ©2025 Majenko Technologies