ASMB,R,L,C
      HED ENABL - ENABLE LISTEN MODE.* (C) HEWLETT-PACKARD CO. 1976 * 
      NAM ENABL,1,5 91705-16105 REV.A 751230
      SPC 1 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
******************************************************************
      SPC 1 
* 
* ENABL 
* SOURCE: 91705-18105 REV.A 
* BINARY: 91705-16105 REV.A 
* JIM HARTSELL
* AUG. 18, 1974 
* MODIFIED BY: C.C.H. (12-30-75) [DERIVED FROM: 91705-18005 REV.B]
* 
* 
* CORE RESIDENT RTE-C SATELLITE START-UP PROGRAM TO FIND
* THE LOGICAL UNIT OF THE REMOTE COMPUTER I/O SLOT AND
* ENABLE LISTEN MODE ON THE COMMUNICATION LINK. 
* THIS PROGRAM IS ALSO SCHEDULED BY THE OPERATOR
* AND BY @REFA TO RECOVER FROM "LINE DOWN" ERRORS.
* 
      ENT ENABL 
      EXT EXEC,%LU,$LIBR,$LIBX,%ACT 
      SUP 
A     EQU 0 
B     EQU 1 
* 
* FIND LOGICAL UNIT OF CENTRAL STATION. 
* 
ENABL LDA B,I       SAVE SPECIAL SCHEDULE PARAM.
      STA SCFLG 
* 
      ADB B4
      LDA B,I 
      SZA 
      JMP QDUMP 
* 
      CLA,INA       INITIALIZE LU COUNTER.
      STA LU
* 
      LDA LUMAX,I   GET NEGATIVE NUMBER 
      CMA,INA       OF DRT ENTRIES. 
      STA CNTR
* 
      LDA DRT,I     SET DRT POINTER.
      STA DRTA
* 
ENBL1 LDA DRTA,I    MAKE SURE LU IS ASSIGNED. 
      AND B77 
      SZA,RSS 
      JMP BUMP
* 
      JSB EXEC      GET STATUS. 
      DEF *+4 
      DEF D13 
      DEF LU
      DEF CLIO
* 
      LDA CLIO
      ALF,ALF 
      AND B77       ISOLATE EQUIPMENT TYPE. 
      CPA B65       OCTAL 65? 
      JMP ENBL2     YES. "LU" CONTAINS LU.
* 
BUMP  ISZ LU        BUMP LU COUNTER.
      ISZ DRTA      BUMP DRT POINTER. 
      ISZ CNTR      BUMP DRT COUNTER. 
      JMP ENBL1     LOOP IF MORE. 
* 
      JSB EXEC      NO DVR65 IN THE SYSTEM. 
      DEF *+5       DISPLAY ERROR MESSAGE.
      DEF B2
      DEF B1
      DEF MSG 
      DEF MSGL
      JMP EXIT      TERMINATE.
* 
* CLEAR LINE AND ENABLE LISTEN MODE.
* 
ENBL2 JSB $LIBR     DISABLE INTERRUPTS. 
      NOP 
      LDA LU
      STA %LU       STORE LOGICAL UNIT. 
      JSB $LIBX     ENABLE INTERRUPTS.
      DEF *+1 
      DEF *+1 
* 
      LDA %LU 
      ADA B200
      STA CLIO
      ADA B100
      STA ENIO
* 
      JSB EXEC      CLEAR LINE. 
      DEF *+4 
      DEF B3
      DEF CLIO
      DEF DFLRN 
* 
      JSB EXEC      ENABLE LISTEN MODE. 
      DEF *+4 
      DEF B3
      DEF ENIO
      DEF DFLRN 
* 
      LDA SCFLG     CHECK IF SCHEDULED
      CPA AS.01     BY OPERATOR.
      JMP EXIT      NO. 
* 
      JSB EXEC      DISPLAY COMFORTING MESSAGE. 
      DEF *+5 
      DEF B2
      DEF B1
      DEF CMSG
      DEF D9
* 
      JSB EXEC      SCHEDULE @CLCK. 
      DEF *+3 
      DEF D10 
      DEF DCLCK 
* 
EXIT  JSB EXEC      TERMINATE.
      DEF *+2 
      DEF B6
* 
* CONSTANTS AND WORKING STORAGE.
* 
B1    OCT 1 
B2    OCT 2 
B3    OCT 3 
B6    OCT 6 
B65   OCT 65
B77   OCT 77
B100  OCT 100 
B200  OCT 200 
DRT   OCT 1652
LUMAX OCT 1653      NO. OF LU'S IN DRT. 
D9    DEC 9 
D12   DEC 12
D13   DEC 13
DRTA  NOP 
CNTR  NOP 
CLIO  NOP 
ENIO  NOP 
LU    NOP 
* 
*    *** DO NOT CHANGE ORDER OF NEXT SIX STATEMENTS *** 
      SPC 1 
DFLRN DEF LRN 
LRN   OCT 0,0       DUMMY RN STORAGE--DVR65 COMPATABILITY.
      DEC -1000     REQUEST & DATA TIMEOUT (SATELLITE ONLY).
      NOP           [#SBIT ADDRESS NOT USED IN SCE/5].
      NOP           [$CGRN ADDRESS NOT USED IN SCE/5].
      OCT -1        PRIMARY: NO YIELD-SIMULTANEOUS REQUESTS.
      SPC 1 
SCFLG NOP 
DCLCK ASC 3,@CLCK 
AS.01 ASC 1,01
MSGL  DEC 4 
MSG   ASC 4,NO DVR65
CMSG  ASC 9,SATELLITE ENABLED 
* 
      SKP 
* BUILT-IN SCE/5 DIAGNOSTIC AID: PERFORM A CORE DUMP OF ALL 
* ACTIVE ENTRIES IN THE PARMB REQUEST QUEUE AND THEIR 
* ASSOCIATED PARMB BUFFERS. 
* 
*   TO DUMP:     *ON,ENABL,,,,,LU 
* 
*                    LU = LU OF DISPLAY DEVICE
* 
* IF NO ACTIVE ENTRIES, NOTHING IS DISPLAYED. 
* 
QDUMP STA LU        STORE OUTPUT LU.
      LDA %ACT      HEAD OF ACTIVE LIST.
LINK  LDA A,I       GET ADDR OF NEXT ENTRY. 
      SZA,RSS 
      JMP EXIT      EXIT IF DONE. 
* 
      STA TEMP2     SAVE ADDRESS OF ENTRY.
      LDB D12       DISPLAY 12-WORD QUEUE ENTRY.
      JSB DSPLY 
      LDA TEMP2     DISPLAY IT'S PARMB/REPLY BUFFER.
      ADA D9
      LDA A,I 
      LDB D35 
      JSB DSPLY 
* 
      LDA TEMP2     LOOP FOR NEXT QUEUE ENTRY.
      JMP LINK
* 
* DUMP SPECIFIED CORE.
* 
DSPLY NOP 
      STA ADDR      INIT. CORE ADDR POINTER.
      CMB,INB 
      STB CNTR      NEGATIVE WORD COUNTER.
      LDA MD10
      STA LNCNT     LINE WORD COUNT.
LOOP  CLA 
      STA B.PTR     RESET BUFFER BYTE POINTER.
      LDA BLANK     START WITH BLANK BYTE.
      JSB STBYT 
* 
      LDA MD6       SET FOR 6 CHARACTERS. 
      STA BCNTR 
* 
      LDB ADDR,I    GET NEXT CORE WORD. 
      CLA 
      RRL 1 
      JMP XXX 
* 
LOOP1 BLF,RBR       POSITION NEXT 3 BITS. 
      LDA B 
      AND B7
XXX   IOR B60 
      JSB STBYT     STORE ASCII BYTE. 
      ISZ BCNTR 
      JMP LOOP1     LOOP TILL DONE. 
* 
      ISZ ADDR      BUMP TO NEXT CORE WORD. 
      LDA BA        PRIME FOR BACK ARROW. 
      ISZ CNTR      END OF CORE WORDS?
      JMP EOLCK     NO. GO CHECK LINE.
* 
EOD   LDA CR        STUFF CARRIAGE RETURN.
      JMP CNTRL 
* 
EOLCK ISZ LNCNT     END OF LINE (10 CORE WORDS)?
      JMP CNTRL     NO. 
      LDA MD10      YES. RESET WORD COUNTER.
      STA LNCNT 
      JMP EOD       STUFF CARRIAGE RETURN.
* 
CNTRL JSB STBYT     STORE CONTROL CHARACTER.
* 
      JSB EXEC      DISPLAY 4 WORDS.
      DEF *+5 
      DEF B2
      DEF LU
BUFAD DEF ASCBF 
      DEF B4
* 
      LDA CNTR
      SZA 
      JMP LOOP      GO GET NEXT CORE WORD.
      JMP DSPLY,I   EXIT WHEN DONE. 
* 
* STORE A BYTE INTO THE PRINT LINE BUFFER.
* 
STBYT NOP 
      STA TEMP      SAVE BYTE.
      LDA B.PTR     BYTE POINTER. 
      CLE,ERA       FORM WORD ADDRESS.
      ADA BUFAD     FORM BUFFER ADDRESS.
      STA TEMP1     SAVE FOR LATER. 
      LDA A,I       GET CURRENT WORD FROM BUFFER. 
      SEZ,RSS 
      ALF,ALF       POSITION IF NEEDED. 
      AND M377L     MASK. 
      IOR TEMP      STUFF NEW BYTE. 
      SEZ,RSS 
      ALF,ALF       RE-POSITION IF NEEDED.
      STA TEMP1,I   STORE INTO BUFFER.
      ISZ B.PTR     BUMP BYTE POINTER.
      JMP STBYT,I 
* 
      SKP 
* 
* WORKING STORAGE FOR CORE DUMP SECTION.
* 
B4    OCT 4 
B7    OCT 7 
B60   OCT 60
D10   DEC 10
D35   DEC 35
MD6   DEC -6
MD10  DEC -10 
CR    OCT 15        CARRIAGE RETURN.
BA    OCT 137       BACK ARROW. 
BLANK OCT 40
M377L OCT 177400
TEMP  BSS 1 
TEMP1 BSS 1 
TEMP2 BSS 1 
ADDR  EQU CLIO
LNCNT EQU ENIO
B.PTR EQU SCFLG 
BCNTR BSS 1 
ASCBF BSS 4 
SIZE  EQU * 
* 
      END ENABL 
              