DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦4c7153074⟧ TextFile

    Length: 8704 (0x2200)
    Types: TextFile
    Names: »LNKDC0.BAK«

Derivation

└─⟦dbb5cfece⟧ Bits:30009789/_.ft.Ibm2.50007354.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »LNKDC0.BAK« 

TextFile

(******************************************************************************)
(*                                                                            *)
(*   Copyright (1985) by Metanic Aps., Denmark                                *)
(*                                                                            *)
(*   Author: Lars Gregers Jakobsen.                                           *)
(*                                                                            *)
(******************************************************************************)

   CONST

(*$I B:LNKDC0-0.pas  Configuration Constants *)
(*$I A:PrTstCon.pas Declarations of constants for PrTst package *)

      (* Other constants *)

      UnResolved = -1;   (* Value of field segmentno in VLT *)
      OvrCode = 0;       (* For index in bit map *)
      ImageFactor = 4;   (* 2 bits in bit map per 8 bits in image *)
      OMF_Address = 4;   (* Address of OMF in target file *)
      OMH_Address = 8;   (* Address of OMH in target file *)
      LogMargin = 10;    (* Size of blank left margin in log  file *)

   TYPE  (*LINK*)

      (* General Types *)

      i8  = 0..255;
      i16 = 0..65535;
      i32 = integer;
      i32IndexType = (bs0, bs1, bs2, bs3);
      i32ArrayType = ARRAY (.i32IndexType.) OF i8;
      CharSetType = SET OF char;

      (* Basic Types *)

      StatusBaseType =
         (Success
         ,BadOption
         ,BadLogFileName
         ,BadTargetFileName
         ,BadFileName
         ,NoSuchFile
         ,NoInputFiles
         ,BadFileFormat
         ,BadModuleFormat
         ,UnexpectedEof
         ,RangeError
         ,BadSymbolName
         ,DuplicateModuleName
         ,DuplicateExportSymbol
         ,NoInput
         ,Baddibit
         ,BadRelocationCode
         ,BadImportCode
         ,NameTableOverFlow
         ,ModuleTableOverFlow
         ,SectionTableOverFlow
         ,FileNameTableOverFlow
         ,SymbolTableOverFlow
         ,ExternalImportTableOverFlow
         ,NotFound
         ,NotFinished
         ,HeapEmpty
         ,NoTarget
         ,Error
         );

      StatusType = SET OF StatusBaseType;

      OF_FormatType = i32;
      OM_FormatType = i32;
      FileKindBaseType = (explicit, implicit, none);
      LogFileKindType = explicit..none;
      TargetFileKindType = explicit..implicit;

      SegmentNoType = UnResolved..MaxNooSegments;
      RelocationIndicatorType = SegmentNoType;
      FileAddressType = 0..MaxInt;

      CommandLineIndexType = 0..CommandLineLength;
      CommandLineType = String(.CommandLineLength.);

      SymbolNameIndexType = 0..MaxSymbolNameIndex;
      SymbolNameSubIndexType = 1..MaxSymbolNameIndex;
      SymbolNameType = RECORD
         Length: SymbolNameIndexType;
         Name: ARRAY (.SymbolNameSubIndexType.) OF i8;
        END;
      ModuleNameType = SymbolNameType;
      FileNameType = STRING(.FileNameLength.);

      ImageUnitType = i8;
      QuadImageUnitType = i32;
      BasicFileType = file OF ImageUnitType;
      FileType = RECORD
         F: BasicFileType;    (* File systeme file *)
         P: FileAddressType   (* Current file address.
                                 NOT defined when eof(F) =  true *)
        END;

      PageNoType = i32;
      LineNoType = 0..255;
      LogFileType = RECORD
         F: text;       (* File system file *)
         P: PageNoType; (* No of page started upon *)
         L: LineNoType; (* No of line just printed within current page *)
        END;

      (* Table Index Types *)

      ExternalImportTableIndexType = 0..MaxNooExternalImportSymbols;
      FileNameTableIndexType = -1..MaxNooInputFiles;
      ModuleTableIndexType = 0..MaxNooModules;
      NameTableIndexType = 0..MaxNameTableIndex;
      SectionTableIndexType = 0..MaxNooSections;
      SymbolTableIndexType = 0..MaxNooSymbols;
      HeapIndexType = 0..MaxHeapIndex;

      (* Table Sub Index Types *)

      ExternalImportTableSubIndexType = 1..MaxNooExternalImportSymbols;
      ModuleTableSubIndexType = 1..MaxNooModules;
      NameTableSubIndexType = 1..MaxNameTableIndex;
      SectionTableSubIndexType = 1..MaxNooSections;
      SymbolTableSubIndexType = 1..MaxNooSymbols;



      (* Table Record Types *)

      ExternalImportTableRecordType = RECORD
         SymbolNo: SymbolTableIndexType
        END;

      FileNameTableRecordType = FileNameType;

      ModuleTableRecordType = RECORD
         ModuleNameReference: SymbolTableIndexType; (* Reference to symbol
                                                       table entry holding
                                                       module name*)
         FileNameReference: FileNameTableIndexType; (* *)
         CurrentFileAddress: FileAddressType;       (* Offset relative to
                                                       start of file *)
         Referenced: Boolean; (* True if module referenced *)
         NooSegments: SegmentNoType; (* Noo Segments in module *)
         SCTBase: SectionTableIndexType;
         NooExternalImportSymbols: ExternalImportTableIndexType;
         EITOffset: ExternalImportTableIndexType;
         SBTLinkHead: SymbolTableIndexType
        END;

      OptionTableRecordType = RECORD
         LogFileKind: LogFileKindType;
         TargetFileKind: TargetFileKindType
        END;

      SectionTableRecordType = RECORD
         ModuleNo: ModuleTableIndexType;
         SegmentNo: SegmentNoType;
         ImageSize: FileAddressType;
         OvrSize: FileAddressType;
         RelocationConstant: FileAddressType;
        END;

      SymbolTableRecordType = RECORD
         ModuleNo: ModuleTableIndexType;
         NameReference: NameTableIndexType;
         SortLink: SymbolTableIndexType
        END;

      ValueTableRecordType = RECORD
         SegmentNo: SegmentNoType;
         Value: i32
        END;

      (* Table Types *)


      ExternalImportTableType = ARRAY (.ExternalImportTableSubIndexType.) OF
            ExternalImportTableRecordType;

      FileNameTableType = ARRAY (.FileNameTableIndexType.) OF
            FileNameTableRecordType;

      ModuleTableType = ARRAY (.ModuleTableSubIndexType.) OF
            ModuleTableRecordType;

      OptionTableType = OptionTableRecordType;

      NameTableType = ARRAY (.NameTableSubIndexType.) OF i8;

      SectionTableType = ARRAY (.SectionTableSubIndexType.) OF
            SectionTableRecordType;

      SymbolTableType = ARRAY (.SymbolTableSubIndexType.) OF
            SymbolTableRecordType;

      ValueTableType =  ARRAY (.SymbolTableSubIndexType.) OF
            ValueTableRecordType;


      (* Other major data structures *)

      HeapType = ARRAY (.ModuleTableIndexType.) OF SymbolTableIndexType;

      BitMapBufferTagType = (bit, byt);
      BitMapBufferType = RECORD
         P: 0..16;
         CASE BitMapBufferTagType OF
         bit: (I: SET OF 0..15);
         byt: (Y0: i8;
               Y1: i8
              )
        END;

      BitMappedFileType = RECORD
         F: BasicFileType;
         B: BitMapBufferType
        END;

(*$I A:PrTstTyp.pas Declarations of types for PrTst package *)


   COMMON   (*LINK*)

      (* Permanent Tables *)

      OptionTable: OptionTableType;

      FileNameTable: FilenameTableType;
      CurFileNo: FileNameTableIndexType;  (*Points to highest entry used*)

      ModuleTable: ModuleTableType;
      CurModuleNo: ModuleTableIndexType;  (*Points to highest entry used*)
      TargetModuleNo: ModuleTableIndexType; (*Points to entry of target module*)

      SectionTable: SectionTableType;
      SCTOffset: SectionTableIndexType;  (*Points to highest entry used*)
      TargetSectionOffset: SectionTableIndexType; (*Points to entry just below target sections*)
      CurSegmentCount: SegmentNoType;  (*Number of segments in target module*)

      ValueTable: ValueTableType;
      NooExpSymbols: i32; (* Number of EXP symbols in target module *)

      ExternalImportTable: ExternalImportTableType;
      CurExternalImportSymbolNo: ExternalImportTableIndexType;  (*Points to highest entry used*)
      NooExiSymbols: i32; (* Number of EXI symbols in target module *)

(*$I A:PrTstCom.pas Declarations of global variables for PrTst package        *)

(*                                                                            *)
(*                                                                            *)
(******************************************************************************)
«eof»