|
|
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: 4224 (0x1080)
Types: TextFile
Names: »LNKDF2.BAK«, »LNKDF2.PAS«
└─⟦94d85ef43⟧ Bits:30009789/_.ft.Ibm2.50006584.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDF2.BAK«
└─⟦da8d53b95⟧ Bits:30009789/_.ft.Ibm2.50006585.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDF2.PAS«
└─⟦dbb5cfece⟧ Bits:30009789/_.ft.Ibm2.50007354.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDF2.PAS«
(******************************************************************************)
(* *)
(* Copyright (1985) by Metanic Aps., Denmark *)
(* *)
(* Author: Lars Gregers Jakobsen. *)
(* *)
(******************************************************************************)
(* File LnkDF2X holds the access primitives used by the
linker to access input and output files. *)
FUNCTION OPTLFK: LogFileKindType;
BEGIN (*OPTLFK*)
optlfk := OptionTable.LogFileKind;
END; (*OPTLFK*)
PROCEDURE FNTP(VAR Status: StatusType
; FileName: FileNameType
);
BEGIN (*FNTP*)
IF CurFileNo < MaxNooInputFiles THEN
BEGIN
CurFileNo := CurFileNo + 1;
FileNameTable(.CurFileNo.) := FileName;
END
ELSE
Status := Status + (.FileNameTableOverFlow.);
(*#B#
IF test((.0,6.)) THEN
BEGIN
write(TestOut, 'FNTP '); TSTstat(Status); TSTindt;
TSTfnt(CurFileNo); TSTln
END
#E#*)
END; (*FNTP*)
PROCEDURE EITP(VAR Status: StatusType
; SymbolTableEntryNo: SymbolTableIndexType
);
BEGIN (*EITP*)
IF CurExternalImportSymbolNo < MaxNooExternalImportSymbols THEN
BEGIN
CurExternalImportSymbolNo := CurExternalImportSymbolNo + 1;
ExternalImportTable(.CurExternalImportSymbolNo
.).SymbolNo := SymbolTableEntryNo
END
ELSE
Status := Status + (.ExternalImportTableOverFlow.);
(*#B#
IF test((.0,7.)) THEN
BEGIN
write(TestOut, 'EITP '); TSTstat(Status); TSTln;
TSTeit(CurExternalImportSymbolNo)
END
#E#*)
END; (*EITP*)
(* ModuleTable *)
PROCEDURE MDTA(VAR Status: StatusType
;VAR ModuleNo: ModuleTableIndexType (*Points to least, vacant entry in MDT*)
; ModuleCount: ModuleTableIndexType
);
BEGIN (*MDTA*)
ModuleNo := CurModuleNo;
IF CurModuleNo > MaxNooModules - ModuleCount THEN
Status := Status + (.ModuleTableOverFlow.)
ELSE
BEGIN
ModuleNo := CurModuleNo + 1;
CurModuleNo := CurModuleNo + ModuleCount;
END;
(*#B#
IF test((.0,6.)) THEN
BEGIN
write(TestOut, 'MDTA '); TSTstat(Status); TSTindt;
writeln(TestOut, 'ModuleNo, Count, CurModuleNo= ',
ModuleNo:1, ' ',
ModuleCount:1, ' ', CurModuleNo:1
);
END;
#E#*)
END; (*MDTA*)
(* SectionTable *)
PROCEDURE SCTA(VAR Status: StatusType
;VAR SectionNo: SectionTableIndexType (*Points to highest, used entry in SCT*)
; SectionCount: SegmentNoType
);
BEGIN (*SCTA*)
SectionNo := SCTOffset;
IF SCTOffset > MaxNooSections - SectionCount THEN
Status := Status + (.SectionTableOverFlow.)
ELSE
BEGIN
SCTOffset := SCTOffset + SectionCount;
END;
(*#B#
IF test((.0,6.)) THEN
BEGIN
write(TestOut, 'SCTA '); TSTstat(Status); TSTindt;
writeln(TestOut, 'SectionNo, Count, SCTOffset= ',
SectionNo:11, ' ', SectionCount:1, ' ',
SCTOffset:1
);
END;
#E#*)
END; (*SCTA*)
(* *)
(* *)
(******************************************************************************)
«eof»