// DATE 270915
// NOHALT
*
*** RUN MAINT.
*
// LOAD $MAINT,F1
// RUN
// COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-@FXD
       MACRO
       @FXD  &EXP-N
.*
.*     5703-XM1 FIXED ADDRESSES FOR SYSTEM NUCLEUS.
.*
       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 '@FXDEQ - FIXED ADDRESSES FOR SYSTEM NUCLEUS'
**********************************************************************
*      GLOBAL INDICATORS STORED IN THE SYSTEM NUCLEUS, ENTRY POINTS  *
*      FOR SYSNUC INTERFACE ROUINES.                                 *
**********************************************************************
       ORG   X'0000'                   *
$$ZERO EQU   *                         ENTRY POINT TO LOAD DUMP PGM
$FEARR EQU   $$ZERO+4                  VALUE OF ADDR IN ARR ON FE AID
*
$DISKN EQU   $$ZERO+37                 ADDR OF ENTRY TO DISK IOCS
$KE090 EQU   $$ZERO+X'00DE'            ADDR OF DKDISK ERR-PEND EXIT
$KE130 EQU   $$ZERO+X'01D5'            ADDR OF DKDISK HARD ERROR EXIT
       SPACE 1
       ORG   X'0345'                   *
$ERLOG EQU   *                         ADDR OF ENTRY TO LOG I/O ERRORS
$ER050 EQU   $$ZERO+X'0363'            START OF DISK OPS IN NERLOG
       SPACE 1
**********************************************************************
*      COMMUNICATION AREA REFERENCING NUCLEUS                        *
**********************************************************************
*
       ORG   X'03C0'                   *
$NUCBS EQU   *                         START OF COMMUNICATION AREA
$RMRGN EQU   $NUCBS                    ADDR OF BYTE CONTAINING THE
*                                      * SOFTWARE RIGHT MARGIN VALUE
$LMRGN EQU   $RMRGN+1                  ADDR OF BYTE CONTAINING THE
*                                      * SOFTWARE LEFT MARGIN VALUE
$PRPOS EQU   $LMRGN+1                  ADDR OF BYTE CONTAINING CURRENT
*                                      * POSITION OF MATRIX PRINTER
*                                      * HEAD
$KEYCD EQU   $PRPOS+1                  ADDR OF BYTE CONTAINING KEYBOARD
*                                      * INDICATORS. A LIST OF THE
*                                      * INDICATORS AND MASKS FOLLOW
$CARDI EQU   X'01'                     INPUT SOURCE INDR MASK
*                                      * 0 - KEYBOARD INPUT
*                                      * 1 - CARD OR PROC INPUT
$IOYES EQU   X'02'                     I/O ROUTINES IN CORE INDR MASK
*                                      * 0 - I/O ROUTINES NOT IN CORE
*                                      * 1 - I/O ROUTINES IN CORE
$NOLST EQU   X'04'                     NO LIST INDR MASK
*                                      * 0 - LISTING REQUIRED
*                                      * 1 - NO LISTING RESIRED
$GUFIR EQU   X'08'                     GUFUDI ABORT INDR
*                                      * 1 - GUFUDI INTERRUPT, NOT ABORT
*                                      * 0 - GUFUDI ABORTED
*                                      * FOR THE ABOVE INDICATOR TO BE
*                                      * VALID, $INTRP MUST BE PRESENT
$KYBSY EQU   X'10'                     KEYBOARD BUSY INDR
*                                      * 0 - LINE FINISHED
*                                      * 1 - LINE NOT YET COMPLETE
$INRPT EQU   X'20'                     INTERRUPT INDR
*                                      * 0 - PROGRAM NOT ABORTED
*                                      * 1 - PROGRAM ABOPRTED
$DTNMB EQU   X'40'                     * 1 - AUTOMATIC LINE NUMBERS
*                                      * GENERATED FOR CARD INPUT
$TRUNK EQU   X'80'                     TRUNCATED LINE INDR
*                                      * 1 - LAST LINE TRUNCATED
*                                      * 0 - LAST LINE COMPLETED
       EJECT
**********************************************************************
*      REGISTER SAVE AREAS. THESE AREAS ARE AVAILABLE FOR            *
*      TEMPORARELY USE BY ANY PROGRAM                                *
**********************************************************************
       SPACE
$BRSAV EQU   $KEYCD+2                  ADDR OF 2 BYTE BASE REG SAVE
$XRSAV EQU   $BRSAV+2                  ADDR OF 2 BYTE XR SAVE AREA
       SPACE 1
$TABLN EQU   $XRSAV+4                  CURRENT AUTOMATIC LINE NUMBER
*                                      * TO BE INSERTED IF TAB KEY
*                                      * PRESSED. (ADDR OF LINE NO.)
$CAERR EQU   $TABLN+2                  ADDR OF ERROR CODE SAVED FOR
*                                      * INTERFACE WITH ERRPGM
$INLNO EQU   $CAERR+2                  ADDR OF EXECUTION TIME LINE
*                                      * NUMBER FOR INTERPRETER
$ERRPG EQU   $INLNO-1                  ADDR OF INDICATOR BYTE IF
*                                      * SPECIAL FUNCTION REQUESTED
*                                      * OF ERROR PROGRAM
$ERSTK EQU   X'30'                     TO BE MOVED TO $ERRPG IF A STACK
*                                      * OF ERR CODES IS TO BE PROCESSED
$ERSFL EQU   X'35'                     SYNTAX CHECKERS $ERRPG SETTING
$ERFIL EQU   X'40'                     TO BE MOVED TO $ERRPG IF FILE
*                                      * LINE ERROR OCCURS
$ER1N2 EQU   X'50'                     TO BE MOVED TO $ERRPG IF LEVEL
*                                      * 1 AND 2 MESSAGES REQUIRED
$ERKEY EQU   X'80'                     STANDARD ERROR SETTING USED BY
*                                      * COMMAND ANALYZER ONLY
$ERRCT EQU   $INLNO                    ADDR OF COUNT BYTE FOR STACK
*                                      * OF ERROR MESSAGES
       EJECT
**********************************************************************
*      SYSTEM STATUS EQUATES                                         *
**********************************************************************
*
$XIND1 EQU   $INLNO+1                  ADDR OF PRIMARY EXEC MODE INDRS
*                                      * ENTRIES FOLLOW
$RUNIT EQU   X'01'                     1 - EXECUTE IN RUN MODE
$STEPT EQU   X'02'                     1 - EXECUTE IN STEP MODE
$TRACE EQU   X'04'                     1 - EXECUTE IN TRACE MODE
*                                      THE THREE MODE INDICATORS ARE
*                                      MUTUALLY EXCLUSIVE. IF $TRACE
*                                      IS ON, AT LEAST 1 OF THE TRACE
*                                      TYPE CODE MUST ALSO BE ON.
$TFLOW EQU   X'08'                     1 - TRACE FLOW
$TRALL EQU   X'10'                     1 - TRACE ALL
$TRVAR EQU   X'20'                     1 - TRACE SELECTED VARIABLES
$XPREC EQU   X'40'                     EXECUTION PRECISION INDR
*                                      * 0 - SHORT PRECISION
*                                      * 1 - LONG PRECISION
$VMDEF EQU   X'80'                     VM USAGE INDR
*                                      * 1 - VIRTUAL MEMORY NOT EMPTY
*                                      * 0 - VIRTUAL MEMORY EMPTY
       SPACE 1
$XIND2 EQU   $XIND1+1                  ADDR OF EXECUTION INDICATORS
*                                      * MASK AND INDRS FOLLOW
$EXCMD EQU   X'01'                     EXECUTION INDR
*                                      * 1 - IN EXECUTION
$PAUSE EQU   X'02'                     * 1 - PROGRAM IN PAUSE STATE
$PSTEP EQU   X'04'                     * 1 - PAUSE CAUSED BY STEP MODE
$PSTMT EQU   X'08'                     * 1 - PAUSE CAUSED BY PAUSE STMT
$ABORT EQU   X'10'                     * 1 - ABORT EXECUTION
       SPACE 1
$IOIND EQU   $XIND2+1                  I/O STATUS INDICATORS
*                                      * MASKS AND EXPLANATION FOLLOW
$MPDWN EQU   X'01'                     MP STATE
*                                      * 0 - MATRIX PRINTER OPERATIONAL
*                                      * 1 - MATRIX PRINTER DOWN
$CRTAV EQU   X'02'                     CRT AVAILABILITY
*                                      * 0 - NO CRT ON SYSTEM
*                                      * 1 - CRT ON THE SYSTEM
$CRTNO EQU   X'04'                     SYSPRNT ON CRT
*                                      * 0 - CRT NOT AVAIL FOR SYSPRNT
*                                      * 1 - CRT MAY BE USED FOR SYSPRNT
$CMDKY EQU   X'08'                     KEYBOARD MODE
*                                      * 0 - NORMAL KEYBOARD INPUT
*                                      * 1 - COMMAND KEYS USE ONLY
$PGMST EQU   X'10'                     PGM START KEY
*                                      * 0 - MAY BE USED FOR AUTO LINE #
*                                      * 1 - NOT USED FOR AUTO LINE #
$HRDER EQU   X'20'                     HARD ERROR INDICATOR
*                                      * 0 - SOFT ERROR
*                                      * 1 - HARD ERROR
$DTRDR EQU   X'40'                     DATA RECORDER
*                                      * 0 - DATA RECORDER NOT ON SYSTEM
*                                      * 1 - DATA RECORDER IS ON SYSTEM
$LNPTR EQU   X'80'                     MP OPTION
*                                      * 1 - 50 LPM OPTION AVAILABLE
       SPACE 1
$CRTIN EQU   $IOIND+1                  CRT COMMAND INDICATORS
*                                      * MASKS AND EXPLANATION FOLLOW
$CRTUP EQU   X'01'                     1 - CRT IN ROLL UP MODE
$CRTDN EQU   X'02'                     1 - CRT IN ROLL DOWN MODE
$CRTPU EQU   X'04'                     1 - POP UP CONDITION REQUESTED
$CRTSP EQU   X'08'                     1 - ROLL STOP REQUESTED
       SPACE 1
$INDR1 EQU   $CRTIN+1                  WORK FILE STATUS INDICATORS
*                                      * MASKS AND EXPLANATION FOLLOW
$PROCI EQU   X'01'                     PROCEDURE FILE INDR
*                                      * 0 - NOT A PROCEDURE
*                                      * 1 - A PROCEDURE
$PRESN EQU   X'02'                     WORK FILE PRECISION INDR
*                                      * 0 - SHORT PRECISION USED
*                                      * 1 - LONG PRECISION BEING USED
$WSIND EQU   X'04'                     WORKING STORAGE INDR MASK
*                                      * 0 - WORKING STOR ON DISK IS EMPTY
*                                      * 1 - WORKING STORAGE IS NOT EMPTY
$WFLOK EQU   X'08'                     WORK FILE LOCK INDR
*                                      * 0 - FILE NOT PROTECTED
*                                      * 1 - FILE PROTECTED
$FITIN EQU   X'10'                     FIT SECTORS INDR MASK
*                                      * 0 - FIT SECTORS NOT PRESENT
*                                      * 1 - FIT SECTORS IN CORE
$PGMDT EQU   X'20'                     PGM DATA FILE INDR
*                                      * 1 - PROGRAM GENERATED
*                                      * DATA FILE IN WORK FILE
$KEYDT EQU   X'40'                     KEYBOARD OR CARD FILE INDR
*                                      * 1 - KYBRD OR CARD GENERATED
*                                      * DATA FILE IN WORK FILE
$BASIC EQU   X'80'                     BASIC PROGRAM INDR
*                                      * 1 - BASIC PGM IN WORK FILE
       SPACE 1
$INDR2 EQU   $INDR1+1                  ADDR OF SYSTEM 1-BIT INDRS
*                                      * MASKS AND EXPLANATION FOLLOW
$CMODE EQU   X'02'                     CONVERSATIONAL MODE INDR MASK
*                                      * 0 - UTILITY MODE
*                                      * 1 - CONVERSATIONAL MODE
$ERPND EQU   X'04'                     ERROR LOG PENDING INDR
*                                      * 0 - NO LOGGING REQUIRED
*                                      * 1 - ERROR LOGGING PENDING
$DKERR EQU   X'08'                     DISK ERROR INDR
*                                      * 0 - ERROR WAS NOT DISK
*                                      * 1 - ERROR WAS DISK, 2 ENTRIES
*                                      * REQUIRED IN HISTORY LOG
$FCIND EQU   X'10'                     CRUSH INDR MASK
*                                      * 1 - SINGLE LINE NO DELETION
*                                      * THROUGH THE CMD ANALYZER REQ.
*                                      * IF $FUIND, $FCIND AND $FDIND ARE
*                                      * ALL ZERO, CRUCHING OP REQUIRED.
$FUIND EQU   X'20'                     LINE PASSED INDR MASK
*                                      * 1 - LINE PASSED
$FDIND EQU   X'40'                     LINE NUMBER LIST
*                                      * 1 - LINE NO LIST IS DELETED
$READY EQU   X'80'                     PRINT READY INDR
*                                      * 0 - READY WILL BE PRINTED
*                                      * 1 - READY WON'T BE PRINTED
       SPACE 1
$INDR3 EQU   $INDR2+1                  ADDR OF SYSTEM 1-BIT INDRS
*                                      * MASKS AND EXPLANATION FOLLOW
$DBLOK EQU   X'01'                     SAVE PROTECTED WORK FILE MASK
*                                      * 1 - FILE MAY BE SAVED TO $$LIBR
$LIST  EQU   X'02'                     KLISTN INDR
*                                      * 0 - IGNORE ROLL DOWN KEY
*                                      * 1 - EXCEPT ROLL DOWN KEY
$ERHRD EQU   X'04'                     ERRPGM HARD ERROR INDR
*                                      * 1 - ERRPGM WILL EXECUTE HARD
*                                      *     HALT AFTER PRINTING MSG
$NOENB EQU   X'08'                     KEYBOARD ENABLE INDR
*                                      * 0 - KEYBOARD NOT ENABLED -
*                                      *     GUFUDI WILL ENABLE
*                                      * 1 - KEYBOARD HAS ALREADY
*                                      *     BEEN ENABLED
$CLBFR EQU   X'10'                     CLEAR INPUT LINE BUFFER INDR
*                                      * 0 - DON'T CLEAR LINE BUFFER
*                                      * 1 - CLEAR THE INPUT LINE BUFF
$MOUNT EQU   X'20'                     MOUNT KEYBOARD INDR MASK
*                                      * 1 - ONLY MOUNT COMMAND VALID
$NWRKR EQU   X'40'                     REMOVABLE DISK WORK AREA INDR
*                                      * 0 - CORRECT WORK AREA ON R1
*                                      * 1 - NO WORK AREA ON R1
$NWRKF EQU   X'80'                     FIXED DISK WORK AREA INDR
*                                      * 0 - CORRECT WORK AREA ON F1
*                                      * 1 - NO WORK AREA ON F1
       SPACE 1
$DKSIZ EQU   $INDR3+1                  ADDR OF DISK SIZE INDR
*                                      * MASKS AND EXPLANATION FOLLOW
$DK100 EQU   X'01'                     1 - SYSTEM HAS 100 CYLS
$DK200 EQU   X'02'                     1 - SYSTEM HAS 200 CYLS
$DK400 EQU   X'04'                     1 - SYSTEM HAS 400 CYLS
$DK600 EQU   X'08'                     1 - SYSTEM HAS 600 CYLS
$DK800 EQU   X'10'                     1 - SYSTEM HAS 800 CYLS
       SPACE 1
$XIND3 EQU   $DKSIZ+1                  PAST $XIND1
*                                      * SEE $XIND1 FOR INDR MASKS
       SPACE 1
$FILIB EQU   $XIND3+2                  ADDR OF CURRENT FILE LIB DADDR
$USRDR EQU   $FILIB+2                  ADDR OF REL DISP TO 1ST USER BK
$CONFG EQU   $USRDR+1                  CONFIGURATION INDRS
$22IMP EQU   X'01'                     0 - 13 INCH MATRIX PRINTER
*                                      1 - 22 INCH MATRIX PRINTER
$16K   EQU   X'02'                     1 - CPU HAS 12 KBYTE
$12K   EQU   X'04'                     1 - CPU HAS 16 KBYTE
*                                      * IF BOTH OFF: CPU HAS 8 KBYTE
$16CKY EQU   X'08'                     0 - KEYBOARD HAS  8 CMD KEYS
*                                      1 - KEYBOARD HAS 16 CMD KEYS
$BIGCD EQU   X'80'                     1 - CPU HAS 129 DATA RECORDER
       SPACE 1
$LEVEL EQU   $CONFG+2                  ADDR OF SYSTEM LEVEL NUMBER
       SPACE 1
$DBGUF EQU   $LEVEL+1                  ADDR OF GUFUDI DEBUG INDR
$CRUSH EQU   X'80'                     0 - CRUSH THE FILE
$REORD EQU   X'40'                     0 - REORDER THE FILE
$IRKEY EQU   X'20'                     1 - ENABLE KEYBOARD INPUT
$IOPGS EQU   X'10'                     D1 PAGES INDR: 0 - ONE
$CALLI EQU   X'08'                     PROCEDURE CALL INDR
*                                      * 0 - NOT A CALL
*                                      * 1 - A CALL
       SPACE 1
$KEYBD EQU   $DBGUF+1                  KEYBOARD TYPE INDR
*                                      * THIS VALUE WILL BE A BINARY
*                                      * VALUE FROM 1 TO 12 INDICATING
*                                      * WHICH DATA TABLE IS IN USE
       SPACE 1
$CRPOS EQU   $KEYBD+1                  ADDR OF CURRENT CURSOR POSITION
$BUFPT EQU   $CRPOS+1                  LINE PRINTER BUFFER POINTER  1-3
$LPRP3 EQU   $BUFPT+1                  LINE PRINTER FLAGS           1-3
$LPROS EQU   $LPRP3+1                  TRUE LINE PRINTER PRINT POS. 1-3
       SPACE 1
$NEXTB EQU   $LPROS+1                  REL DADDR PROCEDURE CALL     1-4
$NEXTL EQU   $NEXTB+1                  DISPLACEMENT WITHIN DB       1-4
$DFDET EQU   $NEXTL+1                  GRAPRO INTERNAL INDR         1-4
$LPRIO EQU   $DFDET+2                  LINE PRINTER BUF INC. + PDAR 1-4
       SPACE 1
$PTCH1 EQU   $DKSIZ+30                 LAST BYTE OF NUCLUES AREA
***********************************************************************
*      TABLES AND SYSTEM WORK AREAS                                   *
***********************************************************************
$VOLID EQU   $PTCH1+1                  ADDR OF LEFT BYTE VOLID TABLE
$VOLR1 EQU   $VOLID                    ADDR LEFT BYTE VOLID FOR R1
$VOLF1 EQU   $VOLR1+8                  ADDR LEFT BYTE VOLID FOR F1
$VOLR2 EQU   $VOLF1+8                  ADDR LEFT BYTE VOLID FOR R2
$VOLF2 EQU   $VOLR2+8                  ADDR LEFT BYTE VOLID FOR F2
$PKERT EQU   $VOLID+35                 ADDR OF 1ST ENTRY IN PACK ERROR
*                                      * RATE TABLE
$PASWD EQU   $PKERT+20                 ADDR OF CURRENT PASSWORD
$HISTE EQU   $PASWD+1                  LEFT BYTE OF HISTORY LOG ENTRY
$HIST1 EQU   $HISTE+7                  ADDR OF 1ST ENTRY OF HIST LOG
$DATE  EQU   $HIST1+5                  ADDR OF CURRENT DATE
$EXFTR EQU   $DATE+1                   ADDR OF CORE EXPANSION FACTOR
*                                      * THIS VALUE WILL BE ADDED TO
*                                      * BUFFER ADDRESS (SET FOR 8K)
*                                      * TO RE-POSITION THEM FOR
*                                      * LARGER MACHINES
$WFNME EQU   $EXFTR+8                  ADDR OF WORK FILE NAME
$WFDEF EQU   X'40'                     WORK FILE DEFINED INDR
*                                      * THIS MASK IS USED ON $WFNME
*                                      * 0 - WORK FILE UNDEFINED
*                                      * 1 - WORK FILE DEFINED
$DPLSV EQU   $WFNME+6                  ADDR OF 6 BYTE DPL SAVE AREA
*                                      * FOR KEYBOARD PROGRAMS
$PRDEV EQU   $DPLSV+2                  ADDR OF 2 BYTE FIELD POINTING
*                                      * TO THE SYSTEM PRINTER IOCR
$CRTAD EQU   $PRDEV+2                  ADDR OF ENTRY TO RELOCATE CRT
$PLST1 EQU   $CRTAD+7                  ADDR OF THREE 7-BYTES ENTRY I/O
$PLST2 EQU   $PLST1+7                  * PARM LISTS MOST RECENTLY USED
$PLST3 EQU   $PLST2+7                  * THE 1ST ENTRY IS MOST RECENT
$C0001 EQU   $PLST3+2                  ADDR OF 2 BYTE CONSTANT 1
       EJECT
**********************************************************************
*      ENTRY POINTS TO INTERFACE ROUTINES AND THEIR WORK AREAS       *
**********************************************************************
       SPACE 1
$SPRNT EQU   $C0001+1                  ADDR OF ENTRY TO THE SYSTEM
*                                      * PRINTER IOCR
$CAERK EQU   $SPRNT+4                  ADDR OF ENTRY TO ERR ROUTINE
*                                      * INTERFACE. ERROR CODE MUST
*                                      * BE STORED PREVIOUS TO ENTRY
$ERDPL EQU   $CAERK+6                  ADDR OF LEFT BYTE OF ERRPGM
*                                      * LOAD DPL
$ERMAD EQU   $ERDPL+3                  ADDR OF DK ADDR, CNT OF ERRPGM
$CIMSK EQU   $ERMAD+4                  ADDR OF THE INQUIRY REQUEST INDR
*                                      * X'87' IR NOT DISABLED
*                                      * X'80' IR MASKED
$CIEXT EQU   $CIMSK+10                 ADDR OF IR EXIT INSTRUCTION
$CIENT EQU   $CIEXT+3                  ADDR OF ENTRY FOR IR
$UNMSK EQU   $CIENT+10                 ADDR OF ENTRY TO UNMASK IR
*                                      * IF NO SUSPENDED IR, CALLING
*                                      * PROGRAM RETURNED TO
$CISUS EQU   $UNMSK+9                  ADDR OF INDR FOR SUSPENDED IR
*                                      * IF X'80' AN IR OCCURRED WHILE
*                                      * IR WAS MASKED
*                                      * IF X'87' NO IR TOOK PLACE
*                                      * WHILE IR WAS MASKED
$CAIPL EQU   $CISUS+7                  ADDR OF ENTRY TO ABORT CURRENT
*                                      * OP AND RE-ENABLE KEYBOARD AND IR
$CARPL EQU   $CAIPL+4                  ADDR OF ENTRY TO ABORT CURRENT
*                                      * OP AND ENABLE IR
$CABLD EQU   $CARPL+X'13'              ADDR OF ENTRY TO ABORT CURRENT OP
$PAUSD EQU   $CABLD+6                  ADDR OF ENTRY OF ROUTINE TO
*                                      * SWAP CORE
$RSTR  EQU   $PAUSD+X'1C'              ADDR OF ENTRY TO ENTRY CORE
*                                      * FROM DISK
$PSDXR EQU   $RSTR+X'1C'               ADDR OF SAVED XR IN NPAUSE
$PSDBR EQU   $PSDXR+8                  ADDR OF SAVED BR IN NPAUSE
$SRTRN EQU   $RSTR+X'28'               ADDR OF RETURN ADDR FROM $PAUSD
$SFAID EQU   $SRTRN+15                 ADDR OF RETURN IF FE AID REQUEST
*                                      * IF THE ABOVE TWO ADDRESSES ARE
*                                      * EQUAL, RETURN TO $RSTR WILL BE
*                                      * BE FROM THE FE AID PROGRAM
$CSDPL EQU   $RSTR+X'38'               ADDR OF LEFT BYTE OF SAVE/RSTR DPL
$SWPCR EQU   $CSDPL+3                  ADDR OF DKADDR, COUNT FOR CORE
*                                      * SAVE AREA
$EXADR EQU   $SWPCR+6                  ADDRR OF DK ADDR, COUNT OF EXEC
*                                      * TIME MESSAGE PROGRAM
$LOADR EQU   $EXADR+3                  ADDR OF ENTRY TO BLAST LOAD
*                                      * PROGRAM NOT RESIDING ON CYL 4
*                                      * RETURN IS TO CALLING PROGRAM
$RLOAD EQU   $LOADR+4                  ADDR OF ENTRY TO BLAST LOAD
*                                      * PROGRAM NOT RESIDING ON CYL 4
$BLOAD EQU   $RLOAD+4                  ADDR OF ENTRY TO BLAST LOAD
*                                      * PROGRAM RESIDING ON CYL 4
$LOADB EQU   $BLOAD+X'28'              ADDR OF SPECIAL ENTRY TO
*                                      * NBLOAD FOR SFLOAD/SFFIND
*                                      * AND FZPINV
$TROVR EQU   $BLOAD+X'2C'              ADDR OF FE TRACE INDR
*                                      * @NOP - NO TRACE PERFORMED
*                                      * @UCB - TRACE PERFORMED
$BLRTN EQU   $TROVR+2                  ADDR OF RETURN POINT FROM ZTRACE
$BLNOE EQU   $BLRTN+X'19'              ADDR OF NO EXECUTE INDR-NBLOAD
*                                      * @NOP - CALLING PGM RETURNED TO
*                                      * @UCB - LOADED PROGRAM EXECUTED
*                                      * ENTRY TO $LOADR SETS THE ABOVE
*                                      * INDR TO @NOP.  IF THE CALLING PGM
*                                      * SETS THE INDR TO @NOP BEFORE
*                                      * CALLING $BLOAD, RETURN WILL BE
*                                      * MADE UPON COMPLETION OF THE
*                                      * ABSOLUE LOAD
$LDRTN EQU   $BLOAD+X'4F'              ADDR OF THE RETURN ADDR IN NBLOAD
$BLDPL EQU   $BLOAD+X'57'              ADDR OF LEFT BYTE OF $BLOAD'S
*                                      * DPL (DPL OF LAST PGM LOADED)
$WAITF EQU   $BLDPL+6                  ADDR OF LEFT BYTE OF DISK
*                                      * WAIT AND CHECK ERRORS DPL
$GUFIO EQU   $WAITF+4                  ADDR OF DK ADDR, COUNT OF GUFUDI
$BSADR EQU   $GUFIO+4                  ADDR OF DADDR RELOCATION FACTOR
*                                      * FOR PGMS NOT RESIDING ON CYL 6
$FEMAP EQU   $BSADR+1                  ADDR OF START OF CORE MAP
$ZTRAD EQU   $FEMAP+X'1A'              ADDR OF ZTRACE DADDR
       SPACE 1
       ORG   X'05FF'
$IPLDV EQU   *                         ADDR OF IPL INDR
*                                      * X'00' - IPL WAS FROM R1
*                                      * X'01' - IPL WAS FROM F1
$ENDNU EQU   $IPLDV+1                  ADDR OF THE FIRST BYTE
*                                      * FOLLOWING SYSNUC
*      END OF FIXED ADDRESSES SYSTEM NUCLEUS EQUATES
.*     END OF MACRO; RESTORE PRINT ON.
.MEND  ANOP
       PRINT ON
       MEND
// CEND
// END
*
// READER CONSOLE
