|
|
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: 3328 (0xd00)
Types: TextFile
Names: »LNK.PAS«
└─⟦da8d53b95⟧ Bits:30009789/_.ft.Ibm2.50006585.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNK.PAS«
└─⟦dbb5cfece⟧ Bits:30009789/_.ft.Ibm2.50007354.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;
StatusInx: StatusBaseType;
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.');
FOR StatusInx := Success TO Error DO
IF StatusInx IN Status THEN
writeln(output, ' #Error: ', ord(StatusInx):3 );
IF not (NoTarget IN Status) THEN
erase(TargetFile.F);
END
END. (*LINK*)
(* *)
(* *)
(******************************************************************************)
«eof»