|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5248 (0x1480)
Types: TextFile
Names: »LNK.PAS«
└─⟦2079929d2⟧ Bits:30009789/_.ft.Ibm2.50006583.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNK.PAS«
└─⟦243948191⟧ Bits:30009789/_.ft.Ibm2.50007349.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNK.PAS«
└─⟦94d85ef43⟧ Bits:30009789/_.ft.Ibm2.50006584.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNK.PAS«
(******************************************************************************)
(* *)
(* Copyright (1985) by Metanic Aps., Denmark *)
(* *)
(* Author: Lars Gregers Jakobsen. *)
(* *)
(******************************************************************************)
PROGRAM Link;
(*$I B:lnkDC0.pas Declarations of global constants, types, and commons *)
VAR (*LINK*)
(* Misc. Variables *)
Status: StatusType;
TargetFile: FileType;
LogFile: LogFileType;
SCTSubInx: SectionTableSubIndexType;
(*#B#*)
(*$I A:PrTstExt.pas External Decl. of standard test procedures *)
(*#B#*)
(*$I B:LnkDF1.pas Global test output primitives *)
(*$I B:LnkDF2.pas Global access primitives *)
(*$I B:LnkDF7.pas Log File access primitives *)
(*$I B:LnkDF8.pas Object File access primitives *)
(*$I B:lnkp0.pas Procedure setup *)
(*$I B:lnkp1.pas Procedure pass1 *)
(*$I B:lnkp2.pas Procedure pass2 *)
BEGIN (*LINK*)
(*#B#*)
TestInit(Input,Output);
(*#E#*)
Status := (..);
Optiontable.LogFileKind := None;
OptionTable.TargetFileKind := Implicit;
CurFileNo := 0;
CurModuleNo := 0;
FOR SCTSubInx := 1 TO MaxNooSections DO
SectionTable(.SCTSubInx.).SegmentNo := 0;
SCTOffset := 0;
CurSegmentCount := 0;
CurExternalImportSymbolNo := 0;
SetUp(Status, TargetFile, LogFile, Output);
(*#B#*)
IF test((.0,16,17.)) THEN
BEGIN
write(TestOut, 'Link-MAIN-1 '); TSTstat(Status); TSTindt; TSTmem; TSTln
END;
(*#E#*)
IF Status = (..) THEN
Pass1(Status, TargetFile, LogFile);
(*#B#*)
IF test((.0,16,17.)) THEN
BEGIN
write(TestOut, 'Link-MAIN-2 '); TSTstat(Status); TSTln
END;
(*#E#*)
IF Status = (..) THEN
Pass2(Status, TargetFile, LogFile);
(*#B#*)
IF test((.0,16,17.)) THEN
BEGIN
write(TestOut, 'Link-MAIN-3 '); TSTstat(Status); TSTln
END;
(*#E#*)
IF Status = (..) THEN
BEGIN
writeln(output, 'LINK -- Normal termination')
END
ELSE
BEGIN
writeln(output, 'LINK -- Abnormal termination.');
IF BadOption IN Status THEN
writeln(output, 'Bad option');
IF BadLogFileName IN Status THEN
writeln(output, 'Bad log file name');
IF BadTargetFileName IN Status THEN
writeln(output, 'Bad target file name');
IF BadFileName IN Status THEN
writeln(output, 'Bad file name');
IF NoSuchFile IN Status THEN
writeln(output, 'No such file');
IF NoInputFiles IN Status THEN
writeln(output, 'No input files');
IF ExtraText IN Status THEN
writeln(output, 'Extra text');
IF BadFileFormat IN Status THEN
writeln(output, 'Bad file format');
IF BadModuleFormat IN Status THEN
writeln(output, 'Bad module format');
IF UnexpectedEof IN Status THEN
writeln(output, 'Unexpected EOF');
IF RangeError IN Status THEN
writeln(output, 'Range error');
IF BadSymbolName IN Status THEN
writeln(output, 'Bad symbol name');
IF DuplicateModuleName IN Status THEN
writeln(output, 'Duplicate module name');
IF DuplicateExportSymbol IN Status THEN
writeln(output, 'Duplicate export symbol');
IF NoInput IN Status THEN
writeln(output, 'No input');
IF Baddibit IN Status THEN
writeln(output, 'Bad dibit');
IF BadRelocationCode IN Status THEN
writeln(output, 'Bad relocation code');
IF BadImportCode IN Status THEN
writeln(output, 'Bad import code');
IF NameTableOverFlow IN Status THEN
writeln(output, 'Name table overflow');
IF ModuleTableOverFlow IN Status THEN
writeln(output, 'Module table overflow');
IF SectionTableOverFlow IN Status THEN
writeln(output, 'Section table overflow');
IF FileNameTableOverFlow IN Status THEN
writeln(output, 'File name table overflow');
IF SymbolTableOverFlow IN Status THEN
writeln(output, 'Symbol table overflow');
IF ExternalImportTableOverFlow IN Status THEN
writeln(output, 'External import table overflow');
IF not (NoTarget IN Status) THEN
erase(TargetFile.F);
END
END. (*LINK*)
(* *)
(* *)
(******************************************************************************)
«eof»