// DATE 270915
// NOHALT
*
*** RUN MAINT.
*
// LOAD $MAINT,F1
// RUN
// COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-@SYS
       MACRO
       @SYS  &EXP-N
.*
.*     5703-XM1 SYSTEM SOFTWARE EQUATES.
.*
       TEXT
       PRINT OFF
       AIF   (&EXP EQ 'Y').ON          PRINT ON REQUESTED ?
       AIF   (&EXP EQ 'N').OFF         PRINT OFF REQUESTED ?
.ERR   MNOTE 00,'INVALID MACRO OPTION SPECIFIED.'
       AGO   .MEND
.ON    ANOP
       PRINT ON
.OFF   ANOP
       TITLE '@SYSEQ - SYSTEM SOFTWARE EQUATES'
**********************************************************************
*      CPU EQUATES                                                   *
**********************************************************************
*
***    REGISTER EQUATES
*
@REGL  EQU   2                         HARDWARE REGISTER LENGTH
@BR    EQU   1                         BASE REGISTER
@XR    EQU   2                         USABLE INDEX REGISTER
@PSR   EQU   4                         PROGRAM STATUS REGISTER
@ARR   EQU   8                         ADDRESS RECALL REGISTER
@IAR   EQU   16                        INSTRUCTION ADDRESS REGISTER
@P1IAR EQU   32                        PROGRAM LEVEL 1 IAR
@P2IAR EQU   64                        PROGRAM LEVEL 2 IAR
@I1IAR EQU   X'C0'                     INTERRUPT LEVEL 1 IAR Q-CODE
*
***    EQUATES FOR BYTES OF AN INSTRUCTION
*
@Q     EQU   1                         Q-CODE BYTE
@VQ    EQU   1                         VARIABLE Q CODE FOR LENGTH
@D1    EQU   2                         1ST DISPLACEMENT
@OP1   EQU   3                         1ST ADDRESS
@DOP2  EQU   4                         2ND ADDR OF 5 BYTE INSTR.
@OPD2  EQU   4                         2ND DISP OF 5 BYTE INSTR.
@DD2   EQU   3                         2ND DISP OF 4 BYTE INSTR.
@OP2   EQU   5                         2ND ADDR OF 5 BYTE INSTR.
@INST3 EQU   3                         LENGTH OF 1 DISP INSTRUCTION
@INST4 EQU   4                         LENGTH OF 1 ADDR INSTRUCTION
@INST5 EQU   5                         LENGTH OF 1 DISP 1 ADDR INSTR.
@INST6 EQU   6                         LENGTH OF 2 ADDR INSTR.
*
***    CONDITION CODES FOR BRANCHES
*
@UCB   EQU   X'87'                     UNCONDITIONAL BRANCH
@NOP   EQU   X'80'                     NO BRANCH
@BH    EQU   X'84'                     BRANCH HIGH
@BL    EQU   X'82'                     BRANCH LOW
@BE    EQU   X'81'                     BRANCH EQUAL
@BNH   EQU   X'04'                     BRANCH NOT HIGH
@BNL   EQU   X'02'                     BRANCH NOT LOW
@BNE   EQU   X'01'                     BRANCH NOT EQUAL
@BOZ   EQU   X'88'                     BRANCH OVERFLOW ZONED
@BOL   EQU   X'A0'                     BRANCH OVERFLOW LOGICAL
@BNOZ  EQU   X'08'                     BRANCH NO OVERFLOW ZONED
@BNOL  EQU   X'20'                     BRANCH NO OVERFLOW LOGICAL
@BT    EQU   X'10'                     BRANCH TRUE
@BF    EQU   X'90'                     BRANCH FALSE
@BP    EQU   X'84'                     BRANCH PLUS
@BM    EQU   X'82'                     BRANCH MINUS
@BZ    EQU   X'81'                     BRANCH ZERO
@BNP   EQU   X'04'                     BRANCH NOT PLUS
@BNM   EQU   X'02'                     BRANCH NOT MINUS
@BNZ   EQU   X'01'                     BRANCH NOT ZERO
*
***    MISCELLANEOUS CONSTANTS
*
@ZERO  EQU   0                         ZERO
@B1    EQU   1                         BINARY ONE
@DZERO EQU   X'F0'                     DECIMAL ZERO
@BLANK EQU   C' '                      EBCDIC BLANK
@COMMA EQU   C','                      EBCDIC COMMA
@SLASH EQU   C'/'                      EBCDIC FORWARD SLASH
@DOLAR EQU   C'$'                      EBCDIC DOLLAR SIGN
@ASTER EQU   C'*'                      EBCDIC ASTERISK
@NUMBR EQU   C'#'                      EBCDIC NUMBER #
@ASIGN EQU   C'@'                      EBCDIC ASSIGN @
@CHARA EQU   C'A'                      EBCDIC CHAR A
@CHARF EQU   C'F'                      EBCDIC CHAR F
@CHARR EQU   C'R'                      EBCDIC CHAR R
@CHARZ EQU   C'Z'                      EBCDIC CHAR Z
@EOS   EQU   X'1E'                     RETURN CARRIAGE
@EOF   EQU   X'1C'                     END OF FILE CHARACTER
@UPARW EQU   X'5A'                     UPARROW FROM KEYBOARD INPUT
@CPLUS EQU   C'+'                      EBCDIC PLUS SIGN
@MINUS EQU   C'-'                      EBCDIC MINUS SIGN
@DCALK EQU   X'01'                     DCAL REQUESTED INDICATOR
@PGCSZ EQU   32                        CORE SIZE IN PAGES
@MINCR EQU   256*@PGCSZ                CORE SIZE IN BYTES
@LINSZ EQU   244                       LENGTH OF INPUT LINE BUFFER
@DTRSZ EQU   24                        NO. OF DISK SECTORS PER TRACK
@SECCY EQU   48                        SECTORS PER CYLINDER
@CARDL EQU   96                        LENGTH OF 3700 INPUT CARD
@BCRDL EQU   80                        LENGTH OF 5081 INPUT CARD
@MAPEN EQU   5                         DISP TO END OF FE CORE MAP
@SDFLN EQU   7                         LENGTH OF SDF
@VOLID EQU   6                         LENGTH OF DISK ID FIELD
@HDRLN EQU   7                         LENGTH OF PROGRAM HEADER
@CLON  EQU   X'11'                     TURN ON COMMAND LITE Q-CODE
@CLOFF EQU   X'10'                     TURN Off COMMAND LITE Q-CODE
       SPACE 1
**********************************************************************
*      DISK REGION EQUATES                                           *
**********************************************************************
*
@SCTSZ EQU   256                       LENGTH OF ONE SECTOR
@WSFIT EQU   X'0500'                   SECTOR ADDR OF WS FIT SCTRS
@WSTBL EQU   X'0503'                   SECTOR ADDR OF WORKING STORAGE
@DWBCY EQU   5                         BASE CYL SYSTEM WORK FILE
@DWTB1 EQU   3                         LOGICAL SCTR 1ST TEXT BLOCK
@DWSIZ EQU   192                       NO. OF WORK FILE DISK SECTORS
@DSBCY EQU   4                         BASE CYL SYSTEM ROUTINES
@DSCS1 EQU   0                         COMPILER SUBROUTINE 1ST SCTR
@DVBCY EQU   7                         BASE CYL VIRTUAL MEMORY
@VMFD1 EQU   0                         FILE DIRECTORY 1 PAGE
@VMFD2 EQU   1                         FILE DIRECTORY 2 PAGE
@VMTRL EQU   1                         TRACE REFERENCE LIST PAGE
@VMRS3 EQU   2                         START OF VM RESIDENT SUBROUTINE
@VENTA EQU   86                        FIRST PSEUDO CODE PAGE IN VM
@VMDDV EQU   254                       FUNC AND ARRAY TABLE - PAGE ONE
@DCBCY EQU   9                         BASE CYL COMPILER VADDR TABLES
@DCST1 EQU   64                        STMT ADDRESS TABLE 1ST SECTOR
@DCBT1 EQU   80                        BRANCH ADDRESS TABLE 1ST SECTOR
       SPACE 1
**********************************************************************
*      DISK IOCR EQUATES                                             *
**********************************************************************
*
***    DISK PARAMETER LIST (DPL) EQUATES
*
@DCTRL EQU   0                         CONTROL PARAMETER
@DCYL  EQU   1                         LOGICAL CYLINDER NUMBER
@DSAD  EQU   2                         HEAD/SECTOR ADDRESS
@DCNT  EQU   3                         SECTOR COUNT
@DBFR1 EQU   4                         1ST BYTE OF DATA AREA
@DBFR2 EQU   5                         DATA AREA ADDRESS
@DSPIN EQU   X'02'                     SPINDLE BIT IN DISK ADDRESS
@DPLNG EQU   6                         LENGTH OF DSL
@DPOS  EQU   X'00'                     DPL - SEEK FUNCTION CODE
@DGET  EQU   X'01'                     DPL - READ FUNCTION CODE
@DPUT  EQU   X'02'                     DPL - WRITE FUNCTION CODE
@DVRFY EQU   X'31'                     DPL - VERIFY FUNCTION CODE
@DWAIT EQU   X'FF'                     DPL - WAIT I/O COMPLETE FUNC CODE
@DSIVF EQU   X'03'                     SIO CTRL CODE FOR VERIFY
*
@DADDR EQU   2                         LENGTH OF DISK ADDRESS
@VADDR EQU   2                         LENGTH OF VIRTUAL ADDRESS
@CADDR EQU   2                         LENGTH OF CORE ADDRESS
       SPACE 1
**********************************************************************
*      PRINT PARAMETER LIST (PPL) EQUATES                            *
**********************************************************************
*
@PPLNG EQU   4                         LENGTH OF PPL
@PCTRL EQU   0                         CONTROL BYTE DISPLACEMENT
@PRCNT EQU   1                         COUNT BYTE DISPLACEMENT
@PDATA EQU   3                         DATA ADDR DISPLACEMENT
@PRINT EQU   X'40'                     PRINT CONTROL
@RETRN EQU   X'80'                     RETURN CARRIER CONTROL
@PRETR EQU   @PRINT+@RETRN             PRINT AND RETURN CARRIER
@TBLEF EQU   X'10'                     TAB LEFT CONTROL
@INDEX EQU   X'01'                     INDEX FORMS CONTROL
@TBLIX EQU   @TBLEF+@INDEX             TAB LEFT AND INDEX CONTROL
@PWAIT EQU   X'FF'                     WITH AND CHECK ERROR CONTROL
@RLDWN EQU   X'4F'                     ROLL DOWN CONTROL (CRT ONLY)
@TBCNT EQU   0                         TAB LEFT COUNT
@RTRNC EQU   X'80'                     CARRIER RETURN COUNT
@EOFTC EQU   X'75'                     EOF RECORD TYPE CODE
*
***    STATEMENT/SEGMENT HEADER EQUATES
*
@SDF0  EQU   0                         DISP TO NULL SEG INDICATOR
@SDF1  EQU   1                         DISP TO LENGTH OF SEGMENT
@SDF2  EQU   2                         DISP TO SEGMENTATION CODE
@SDF3  EQU   3                         DISP TO END OF SDF
@SBLN  EQU   5                         DISP TO STMT BINARY LINE NO.
@STYPE EQU   6                         DISP TO STMT TYPE CODE
@STEXT EQU   7                         DISP TO 1ST TEXT BYTE OF STMT
@SNULL EQU   X'80'                     MASK FOR NULL SEG INDICATOR
*                                      * 1 = SEGMENT IS NULL
*                                      * 0 = SEGMENT IS NOT NULL
*
*                  FOLLOWING ARE THE MASKS FOR THE SEGMENTATION
*                  CODE. THE SEGMENTATION IS INDICATED BY VALUE
*                  IN @SDF2 AS FOLLOWS:
@SONLY EQU   0                         ONLY SEG. IN RECORD
@SIST  EQU   1                         1ST SEG. OF A MULTI-SEG RCD
@SMIDL EQU   3                         MIDDLE SEG. OF A MULTI-SEG RCD
@SLAST EQU   2                         LAST SEG. OF MULTI-SEG RCD
@SBLNL EQU   2                         LENGTH OF STMT BINARY LINE NO.
*
****   FILE INDEX TABLE EQUATES SECTION
*
*                  ALL DISPLACEMENT ARE CALCULATED FROM THE
*                  * FIRST BYTE OF THE FIT TO THE RIGHTMOST BYTE
*                  * OF THE SPECIFIED FIELD UNLESS OTHERWISE
*                  * NOTED.
*
@FDLNC EQU   2                         DISP TO FILE LINE COUNT
@FLLNC EQU   2                         LNG OF FILE LINE COUNT FIELD
@FDDBC EQU   0                         DISP TO FILE DATA BLOCK COUNT
@FLDBC EQU   1                         LNG OF FILE DATA BLOCK COUNT
@FLACE EQU   9                         DISP O ADDR OF CURR ENTRY
@FDFNA EQU   11                        DISP TO ADDR OF 1ST NULL ENTRY
@FLFNA EQU   2                         LNG OF ADDR OF 1ST NULL ENTRY
@FDE1  EQU   12                        DISP TO 1ST BYTE OF 1ST ENTRY
@FLENT EQU   4                         LNG OF A FIT ENTRY
*
*                  ENTRY FIELD DISPLACEMENTS ARE CALCULATED FROM
*                  * THE 1ST BYTE OF THE ENTRY.
*
@FDSD  EQU   0                         DISP TO DB SECTOR DISP
@FLSD  EQU   1                         LNG OF DB SECTOR DISP FIELD
@FDHLN EQU   2                         DISP TO HIGH LINE NO. FIELD
@FLHLN EQU   2                         LNG OF HIGH LINE NO. FIELD
@FDNSC EQU   3                         DISP TO DB NULL SPACE CNT FIELD
@FLNSC EQU   1                         LNG OF DB NULL SPACE CNT FIELD
*
*      END OF SYSTEM SOFTWARE EQUATES
.*     END OF MACRO; RESTORE PRINT ON.
.MEND  ANOP
       PRINT ON
       MEND
// CEND
// END
*
// READER CONSOLE
