|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7340 (0x1cac)
Types: TextFile
Names: »PPP.P«
└─⟦18a2fd90d⟧ Bits:30005144 8" CR80 Floppy CR80FD_0132 ( CR/D/2479 CRD2479: En-CPU CPU/CACHE TEST- PROGRAMMER node: master: CRP5 )
└─⟦56889de57⟧
└─⟦this⟧ »PPP.D!PPP.P«
======== COMPILATION STARTED AT: 81:08:18 13:18
%PRINT
00.00002 MAINMODULE PPP;
00.00003
00.00004 "=== THIS MAINMODULE CREATES THE DATA PAGE 63
00.00005
00.00006 %SOURCE
======== GENERAL.S
%LIST %LIST
01.00003 "-----------------------------------------------------------------------
01.00004 "
01.00005 " MODULE NAME: GENERAL
01.00006 " MODULE ID NBR: CSS/9001
01.00007 " MODULE VERSION: 00
01.00008 " MODULE RELEASE: 10
01.00009 " MODULE TYPE: PREFIX
01.00010 " SPECIFICATIONS: X
01.00011 " AUTHOR/DATE: FP/810313
01.00012 " DELIVERABLE: NO
01.00013 " SOURCE LANGUAGE: SWELL
01.00014 " COMPILE COMPUTER: CR80
01.00015 " TARGET COMPUTER: CR80
01.00016 " OPERATING SYSTEM: DAMOS
01.00017 "
01.00018 "-----------------------------------------------------------------------
01.00019 "
01.00020 " CHANGE RECORD
01.00021 "
01.00022 " VERSION RELEASE AUTHOR/DATE DESCRIPTION OF CHANGE
01.00023 " ------- ------- ----------- ---------------------
01.00024 "
01.00025 "-----------------------------------------------------------------------
01.00026 %NOLIST %NOLIST %NOLIST
======== PPP.S
00.00006
00.00007 %SOURCE
======== HARDWARE.S
%LIST %LIST
02.00003 "-----------------------------------------------------------------------
02.00004 "
02.00005 " MODULE NAME: HARDWARE
02.00006 " MODULE ID NBR: CSS/9006
02.00007 " MODULE VERSION: 00
02.00008 " MODULE RELEASE: 04
02.00009 " MODULE TYPE: PREFIX
02.00010 " SPECIFICATIONS: X
02.00011 " AUTHOR/DATE: FP/810414
02.00012 " DELIVERABLE: NO
02.00013 " SOURCE LANGUAGE: SWELL
02.00014 " COMPILE COMPUTER: CR80
02.00015 " TARGET COMPUTER: CR80D
02.00016 " OPERATING SYSTEM: DAMOS
02.00017 "
02.00018 "-----------------------------------------------------------------------
02.00019 "
02.00020 " CHANGE RECORD
02.00021 "
02.00022 " VERSION RELEASE AUTHOR/DATE DESCRIPTION OF CHANGE
02.00023 " ------- ------- ----------- ---------------------
02.00024 " 00 03 PHF/810625 interrupt_causes added
02.00025 " 00 04 PHF/810626 phys_page_addr added
02.00026 "
02.00027 "-----------------------------------------------------------------------
02.00028 %NOLIST %NOLIST %NOLIST
======== PPP.S
00.00007
00.00008 %LIST %LIST
00.00009 %SOURCE
======== PPP_PREF.S
03.00001
03.00002 CONST
03.00003 REF_PPP = #FC00;
03.00004 NO_OF_CONTEXT_FRAMES = 8;
03.00005
03.00006 TYPE
03.00007 PROCEDURE_ADDRESS = INTEGER;
03.00008 PPP_IDENTIFIER = INTEGER;
03.00009
03.00010 INTERRUPT_TYPES = ( CPU_INTERRUPT_TYPE,
03.00011 ERROR_INTERRUPT_TYPE,
03.00012 PAGE_INTERUPT_TYPE,
03.00013 TIMER_INTERRUPT_TYPE,
03.00014 IO_INTERRUPT_TYPE);
03.00015
03.00016 CAUSE_RECORD =
03.00017 RECORD
03.00018 PRIMARY_CAUSE : INTEGER;
03.00019 SECONDARY_CAUSE : INTEGER;
03.00020 TERTIARY_CAUSE : INTEGER;
03.00021 TERTIARY_USED : BOOLEAN;
03.00022 END;
03.00023
03.00024 CONTEXT_CONTENTS = ( REGISTER0,
03.00025 REGISTER1,
03.00026 REGISTER2,
03.00027 REGISTER3,
03.00028 REGISTER4,
03.00029 REGISTER5,
03.00030 REGISTER6,
03.00031 REGISTER7,
03.00032 BASE_REGISTER,
03.00033 MODIFY_REGISTER,
03.00034 PROG_REGISTER,
03.00035 PRPC_REGISTER,
03.00036 PSW_REGISTER,
03.00037 EXR_REGISTER,
03.00038 PAGE_63);
03.00039
03.00040 CONTEXT_FRAME = ARRAY[ CONTEXT_CONTENTS] OF INTEGER;
03.00041
03.00042 IAR = "== INTERRUPT_ACTION_RECORD
03.00043 RECORD
03.00044 INTERRUPT_EXPECTED : BOOLEAN;
03.00045 EXPECTED_ACTION : PROCEDURE_ADDRESS;
03.00046 UNEXPECTED_ACTION : PROCEDURE_ADDRESS;
03.00047 END;
03.00048
03.00049 ICB = "== INTERRUPT_CONTROL_BLOCK
03.00050 RECORD
03.00051 INTERRUPT_BUSY : BOOLEAN;
03.00052 ICB_EMPTY : BOOLEAN;
03.00053 TYPE_OF_INTERRUPT : INTERRUPT_TYPES;
03.00054 CAUSE : CAUSE_RECORD;
03.00055 INTERRUPT_VIEW_NO : INTEGER;
03.00056 ACTION_SPEC : ARRAY[ UNASSIGNED..EMERGENCY] OF IAR;
03.00057 CONTEXT : CONTEXT_FRAME;
03.00058 END;
03.00059
03.00060 VIEW = INTEGER;
03.00061 T_REG_MAP = ARRAY [ 0..15] OF VIEW;
03.00062 T_TABEL = ARRAY [ 0..63] OF INTEGER;
03.00063
03.00064 CONTEXT_STACK = ARRAY[ 1..NO_OF_CONTEXT_FRAMES]
03.00065 OF CONTEXT_FRAME;
03.00066
03.00067 PCB = "== PROCESS PARAMETER BLOCK
03.00068 RECORD
03.00069 CONTEXT_ADMIN : STACK_CONTROL_BLOCK;
03.00070 TT_FOR_INTRPT_PPP : INTEGER;
03.00071 BOUND_REG_MAP : ARRAY[ 1..15] OF INTEGER;
03.00072 TRANSLATION_REG_MAP: ARRAY[ 0..15] OF VIEW;
03.00073 END;
03.00074
03.00075 CONST
03.00076 FREE_PPP_AREA_FIRST_OFFSET= SIZE( PPP_IDENTIFIER)
03.00077 + SIZE( ICB) + ( 2*SIZE( T_TABEL));
03.00078
03.00079 FREE_PPP_AREA_LAST_OFFSET = #3FF - SIZE( PCB)
03.00080 - SIZE( CONTEXT_STACK);
03.00081
03.00082 TYPE
03.00083 PPP = "== PROCESS PARAMETER PAGE
03.00084 RECORD
03.00085 PAGE_IDENT : PPP_IDENTIFIER;
03.00086 INTERRUPT_CONTROL_BLOCK
03.00087 : ICB;
03.00088 MIRROR_D_T_TABEL : T_TABEL;
03.00089 MIRROR_P_T_TABEL : T_TABEL;
03.00090 FREE_AREA : ARRAY[FREE_PPP_AREA_FIRST_OFFSET
03.00091 ..FREE_PPP_AREA_LAST_OFFSET ]
03.00092 OF INTEGER;
03.00093 CONTEXT_STACK_AREA : CONTEXT_STACK;
03.00094 PROCESS_CONTROL_BLOCK
03.00095 : PCB;
03.00096 END;
03.00097 CONST
03.00098 SIZE_OF_PPP = SIZE( PPP);
03.00099
03.00100 %WHEN SIZE_OF_PPP <> #400 TERMINATE 'ILLEGAL SIZE OF PPP'
03.00101
03.00102
======== PPP.S
00.00009
00.00010 %NOLIST %NOLIST
00.00011
00.00012 VAR
00.00013 PPP_DEF: PPP;
00.00014
00.00015 INIT
00.00016 PPP_DEF.PROCESS_CONTROL_BLOCK.BOUND_REG_MAP = #FFFF;
00.00017
00.00018 BEGIN
00.00019 R6 => R6;
00.00020 END;
00.00021
00.00022 ENDMODULE
LINES: 408
CODESIZE VARSIZE CONSTSIZE TEMPSIZE
-------- ------- --------- --------
#0001 #0400 #0000 #0000
SWELL VARIABLES:
===========BLOCK: 00.00002 PPP
0000 0000 PPP_DEF «a5»