DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦1a9426cc5⟧ TextFile

    Length: 7340 (0x1cac)
    Types: TextFile
    Names: »PPP.P«

Derivation

└─⟦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« 

TextFile


======== 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»