|
|
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: 12928 (0x3280)
Types: TextFile
Names: »LNKDF7.BAK«
└─⟦3d1e6965e⟧ Bits:30009789/_.ft.Ibm2.50007347.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDF7.BAK«
└─⟦91467e717⟧ Bits:30009789/_.ft.Ibm2.50007348.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »LNKDF7.BAK«
(******************************************************************************)
(* *)
(* Copyright (1985) by Metanic Aps., Denmark *)
(* *)
(* Author: Lars Gregers Jakobsen. *)
(* *)
(******************************************************************************)
(* This file holds the access primitives for writing the log file*)
PROCEDURE WriteSymbolName(VAR F: text
; SymbolName: SymbolNameType
; FieldSize: i8
);
VAR
I: SymbolNameIndexType;
N: i8;
BEGIN (*WRITESYMBOLNAME*)
WITH SymbolName DO
BEGIN
IF Length < FieldSize THEN
N := Length
ELSE
N := FieldSize;
FOR I := 1 TO N DO
IF Name(.I.) in (.32..127.) THEN
write(F, chr(Name(.I.)) );
FOR I := N+1 TO FieldSize DO
write(F, ' ');
END
END; (*WRITESYMBOLNAME*)
PROCEDURE LogInit(VAR LogFile: LogFileType
; FileName: FileNameType
);
BEGIN (*LOGINIT*)
WITH LogFile DO
BEGIN
assign(F, FileName);
rewrite(F);
P := 0;
L := LogFilePageSize;
END
END; (*LOGINIT*)
PROCEDURE LogTerm(VAR LogFile: LogFileType
);
BEGIN (*LOGTERM*)
WITH LogFile DO
BEGIN
close(F);
END
END; (*LOGTERM*)
FUNCTION LogFF(VAR LogFile: LogFileType
; Delta: LineNoType
): boolean;
CONST
LogFFDelta = 5;
BEGIN (*LOGFF*)
WITH LogFile DO
IF L > LogFilePageSize - Delta THEN
BEGIN
LogFF := true;
P := P + 1;
L := LogFFDelta;
page(F);
writeln(F);
writeln(F);
writeln(F, ' ':10, 'LINKER for unnamed project. '
, 'Butler has neither clock nor calender. '
, 'PAGE # ', P:2);
writeln(F);
writeln(F);
END
ELSE
LogFF := false;
END; (*LOGFF*)
PROCEDURE LogCmd(VAR LogFile: LogFileType
; CommandLine: CommandLineType
);
CONST Delta = 3;
BEGIN (*LOGCMD*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, Delta) THEN BEGIN END;
WITH LogFile DO
BEGIN
writeln(F, ' ':10, 'AKTIVERINGSKOMMANDO: ');
writeln(F, ' ':10, CommandLine);
writeln(F)
END
END
END; (*LOGCMD*)
PROCEDURE LogHSsgd(VAR LogFile: LogFileType
);
BEGIN (*LOGHSSGD*)
IF OptionTable.LogFileKind <> none THEN
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, 'SEGM STARTADR. STØRRELSE MODUL'
(* , ' ':25, 'FIL' *)
);
writeln(F);
END
END; (*LOGHSSGD*)
PROCEDURE LogHsgd(VAR LogFile: LogFileType
);
BEGIN (*LOGHSGD*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 6) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 3;
writeln(F);
writeln(F, ' ':10, 'LOKALISERINGSPLAN:');
writeln(F);
END;
LogHSsgd(LogFile);
END;
END; (*LOGHSGD*)
PROCEDURE LogSGD(VAR LogFile: LogFileType
; SegmentNo: RelocationIndicatorType
; StartAddress: SizeType
; Size: SizeType
; ModuleName: SymbolNameType
);
BEGIN (*LOGSGD*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 1) THEN
LogHSsgd(LogFile);
WITH LogFile DO
BEGIN
L := L + 1;
write(F, ' ':10, SegmentNo:3
, ' ':2, StartAddress:9
, ' ':2, Size:9
, ' ':3
);
WriteSymbolName(F, ModuleName, 24);
writeln(F);
END;
END
END; (*LOGSGD*)
PROCEDURE LogHSxp(VAR LogFile: LogFileType
);
BEGIN (*LOGHSXP*)
IF OptionTable.LogFileKind <> none THEN
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, 'SEGM VÆRDI MODUL SYMBOL');
writeln(F);
END
END; (*LOGHSXP*)
PROCEDURE LogHxpN(VAR LogFile: LogFileType
);
BEGIN (*LOGHXPN*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 6) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 3;
writeln(F);
writeln(F, ' ':10, 'EXPORTEREDE SYMBOLER (NAVNEORDEN):');
writeln(F);
END;
LogHSxp(LogFile);
END
END; (*LOGHXPN*)
PROCEDURE LogHxpV(VAR LogFile: LogFileType
);
BEGIN (*LOGHXPV*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 6) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 3;
writeln(F);
writeln(F, ' ':10, 'EXPORTEREDE SYMBOLER (VÆRDIORDEN):');
writeln(F);
END;
LogHSxp(LogFile);
END
END; (*LOGHXPV*)
PROCEDURE LogXP(VAR LogFile: LogFileType
; SegmentNo: RelocationIndicatorType
; Value: i32
; SymbolName: SymbolNameType
; ModuleName: ModuleNameType
);
BEGIN (*LOGXP*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile,1) THEN
LogHSxp(LogFile);
WITH LogFile DO
BEGIN
L := L + 1;
write(F, ' ':10, SegmentNo:3
, ' ':2, Value:9
, ' ':2
);
WriteSymbolName(F, ModuleName, 20);
write(F, ' ':2);
WriteSymbolName(F, SymbolName, 20);
writeln(F);
END
END
END; (*LOGXP*)
PROCEDURE LogHSurs(VAR LogFile: LogFileType
);
BEGIN (*LOGHSURS*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, 'MODUL SYMBOL');
writeln(F);
END
END
END; (*LOGHSURS*)
PROCEDURE LogHurs(VAR LogFile: LogFileType
);
BEGIN (*LOGHURS*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 6)THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 3;
writeln(F);
writeln(F, ' ':10, 'UTILFREDSSTILLEDE REFERENCER:');
writeln(F);
END;
LogHSurs(LogFile);
END
END; (*LOGHURS*)
PROCEDURE LogURS(VAR LogFile: LogFileType
; ModuleName: ModuleNameType;
; SymbolName: SymbolNameType
);
BEGIN (*LOGURS*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 1) THEN
LogHSurs(LogFile);
WITH LogFile DO
BEGIN
L := L + 1;
write(F, ' ':10);
WriteSymbolName(F, ModuleName, 20)
write(F, ' ':2);
WriteSymbolName(F, SymbolName, 20);
writeln(F);
END
END
END; (*LOGURS*)
PROCEDURE LogHSdds(VAR LogFile: LogFileType
);
BEGIN (*LOGHSDDS*)
IF OptionTable.LogFileKind <> none THEN
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, 'MODUL SEGM VÆRDI SYMBOL');
writeln(F);
END;
END; (*LOGHSDDS*)
PROCEDURE LogHdds(VAR LogFfle: LogFileType
);
BEGIN (*LOGHDDS*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 5) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F);
writeln(F, ' ':10, 'Dobbeltdefinerede symboler:');
END;
LogHSdds(LogFile);
END
END; (*LOGHDDS*)
PROCEDURE LogDDS(VAR LogFile: LogFileType
; ModuleNo: ModuleTableIndexType
; RelocationIndicator: RelocationIndicatorType
; Value: i32
; SymbolName: SymbolNameType
);
BEGIN (*LOGDDS*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 1) THEN
LogHSdds(LogFile);
WITH LogFile DO
BEGIN
L := L + 1;
write(F, ' ':10, ' ':1, ModuleNo:3
, ' ':4, ord(RelocationIndicator):2
, ' ':3, Value:9
, ' ':1
);
WriteSymbolName(F, SymbolName, 40);
writeln(F);
END;
END
END; (*LOGDDS*)
PROCEDURE LogOFFerror(VAR LogFile: LogFileType
; FileNo: FileNameTableIndexType
);
BEGIN (*LOGOFFERROR*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 2) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, '*** Filformatfejl *** Fil # ', FileNo:1
, ' ***'
);
END;
END
END; (*LOGOFFERROR*)
PROCEDURE LogOMFerror(VAR LogFile: LogFileType
; FileNo: FileNameTableIndexType
; Position: FileAddressType
);
BEGIN (*LOGOMFERROR*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 2) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, '*** Modulformatfejl *** Fil # ', FileNo:1
, ' *** Position # ', Position:1
, ' ***'
);
END;
END
END; (*LOGOMFERROR*)
PROCEDURE LogEOFerror(VAR LogFile: LogFileType
; FileNo: FileNameTableIndexType
; Position: FileAddressType
);
BEGIN (*LOGEOFERROR*)
IF OptionTable.LogFileKind <> none THEN
BEGIN
IF LogFF(LogFile, 2) THEN BEGIN END;
WITH LogFile DO
BEGIN
L := L + 2;
writeln(F, ' ':10, '*** FilLængdefejl *** Fil # ', FileNo:1
, ' *** Position # ', Position:1
, ' ***'
);
END;
END
END; (*LOGEOFERROR*)
«eof»