*COMDECK  COMSPAS 
 (*       CTEXT  COMSPAS - PASCAL 6000 RUN TIME EQUIVALENCES. 
          BASE   DECIMAL
*COMMENT  COPYRIGHT (C) UNIVERSITY OF MINNESOTA - 1978. 
  
  
  
  
**        COMSPAS - PASCAL 6000 RUN TIME EQUIVALENCES.
*         J. P. STRAIT.      77/08/24.
  
  
  
  
**               COMSPAS DEFINES CONSTANTS USED THROUGHOUT THE
*         PASCAL 6000 SYSTEM.  THIS DECK IS CONSTRUCTED SO THAT IT
*         MAY BE CALLED INTO EITHER A PASCAL OR COMPASS PROGRAM.
*                            *) 
  
  
  
                             (* 
**        GENERAL CONSTANTS.  *)
  
  
 ELADR    =      4 ;         (* LOWCORE ADDRESS OF ERROR LIST *)
 ELLEN    =      8 ;         (* LENGTH IN WORD OF LOWCORE ERROR LIST *) 
 ERRMAX   =      420 ;       (* MAXIMUM ERROR MESSAGE NUMBER *) 
                             (* ELLEN * 60 >= ERRMAX *) 
 MINFB    =      120B ;      (* MINIMUM SIZE OF FREEBLOCK *)
 MPLC     =      4 ;         (* FIRST LOCATION IN MAIN ACTIVATION *)
 NILP     =      377777B ;   (* NIL POINTER *)
 PFLC     =      2 ;         (* FIRST LOCATION IN OTHER ACTIVATIONS *)
  
  
  
                             (* 
**        FET LENGTH CONSTANTS. 
* 
*         SEE THE SECTION ON EXTENDED FET (EFET) FORMAT IN PSYSTM.
*                            *) 
  
  
 BINEFET  =      1 ;         (* RELATIVE ADDRESS OF WORD FILE EFET *) 
 CHEFET   =      13 ;        (* RELATIVE ADDRESS OF TEXT FILE EFET *) 
 CHEFETSZ =      28 ;        (* TEXT EFET SIZE = CHEFET + 1 + FETSZ *)
 EFETSZ   =      16 ;        (* WORD EFET SIZE = BINEFET + 1 + FETSZ *) 
 FETSZ    =      14 ;        (* FET LENGTH *) 
  
  
  
                             (* 
**        P.GLOBL - TABLE OF GLOBAL VARIABLES.
* 
*         THIS TABLE INCLUDES RUN TIME SYSTEM VARIABLES THAT ARE
*         MAINTAINED ACROSS THE ENTIRE EXECUTION OF A PASCAL PROGRAM. 
*         IN OTHER WORDS, THEY ARE GLOBAL WITH RESPECT TO THE USER
*         PROGRAM.  THESE VALUES ARE USED AS INDICES INTO THE 
*         TABLE NAMED *P.GLOBL*.
*                            *) 
  
  
 FL       =      0 ;         (* CURRENT FIELDLENGTH *)
 FLIST    =      1 ;         (* FREELIST *) 
 KEY      =      2 ;         (* KEY FOR POINTER CHECKS *) 
 FORT     =      3 ;         (* FORTRAN CALL FLAG *)
 PTRS     =      4 ;         (* FOR SAVING GLOBAL POINTERS (B4,5,6) *)
 MAIN     =      5 ;         (* MAIN PROGRAM ENTRY POINT ADDRESS *) 
 MVAR     =      6 ;         (* MAIN ACTIVATION RECORD ADDRESS *) 
 PMD      =      7 ;         (* ADDRESS OF PASCPMD (UPPER 30 BITS) *) 
 OUTP     =      7 ;         (* OUTPUT EFET ADDRESS (LOWER 30 BITS) *)
 MINFS    =      8 ;         (* MIN FREESPACE BETWEEN STACK AND HEAP *) 
  
  
  
                             (* 
**        P.TERA - TABLE OF ERROR RECOVERY ADDRESSES. 
* 
*         THESE VALUES ARE INDICES INTO P.TERA, THE TABLE OF ERROR
*         RECOVERY ADDRESSES. 
*                            *) 
  
  
 ASSERR   =      0 ;         (* VALUE OUT OF RANGE *) 
 INXERR   =      1 ;         (* INDEX OR CASE EXPR OUT OF RANGE *)
 DIVERR   =      2 ;         (* DIVISION BY ZERO *) 
 WSFERR   =      3 ;         (* WORKSPACE IS FULL *)
 OVLERR   =      4 ;         (* INTEGER OVERFLOW *) 
 PTRERR   =      5 ;         (* INCORRECT POINTER REFERENCE *)
 MODERR   =      6 ;         (* MOD BY NON-POSITIVE MODULO *) 
 EOLERR   =      7 ;         (* TRIED TO CHECK EOLN WHILE AT EOS/EOF *) 
  
  
  
                             (* 
**        TIOE - TABLE OF INPUT/OUTPUT ERRORS.
* 
*         THESE VALUES ARE USED AS INDICES INTO THE TABLE NAMED 
*         *TIOE*. 
*                            *) 
  
  
 IOEA     =      0 ;         (* LINELIMIT EXCEEDED ON XXXXXXX.*)
 IOEB     =      1 ;         (* TRIED TO READ XXXXXXX PAST EOS/EOF.*) 
 IOEC     =      2 ;         (* TRIED TO WRITE XXXXXX WITHOUT REWRITE.*)
 IOED     =      3 ;         (* BUFFER TOO SMALL ON XXXXXXX.*)
 IOEE     =      4 ;         (* NON-DIGIT FOUND WHILE READING XXXXXXX.*)
 IOEF     =      5 ;         (* VALUE TOO LARGE WHILE READING XXXXXXX.*)
 IOEG     =      6 ;         (* TRIED TO READ XXXXXXX WITHOUT RESET.*)
 IOEH     =      7 ;         (* UNDEFINED VALUE TO WRITE ON XXXXXXX. *) 
  
  
  
                             (* 
**        TYPE CODES FOR POST-MORTEM DUMP.
                             *) 
  
 PMDINT   =      1 ;         (* INTEGER *)
 PMDREAL  =      2 ;         (* REAL *) 
 PMDCHAR  =      3 ;         (* CHAR *) 
 PMDBOOL  =      4 ;         (* BOOLEAN *)
 PMDSCAL  =      5 ;         (* SCALAR *) 
 PMDALFA  =      6 ;         (* ALFA *) 
 PMDUPTR  =      7 ;         (* UNCHECKED POINTER *)
 PMDCPTR  =      8 ;         (* CHECKED POINTER *)
  
  
                             (* 
          BASE   *
          ENDX               *) 
