ASMB,R,L,C * NAME : AUTO7 * SOURCE: 91730-18009 1926 * RELOC: 91730-16009 1926 * PROGMR: G.W.J. BASED ON RTEM E.J.W. * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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. * * **************************************************************** * * * * NOTE: THE ENTRY POINT "XLUEX" IS PROVIDED FOR INTERNAL USE * ONLY. HEWLETT-PACKARD RESERVES THE RIGHT TO REMOVE OR * MODIFY THE CALLING SEQUENCE OR PARAMETER MEANINGS. THE * "XLUEX" CALLING SEQUENCE IS IDENTICAL TO "EXEC" EXCEPT * IN THE CONTROL WORD DEFINITION. * * EXEC CONTROL WORD: ONE WORD PARAMETER DEFINING LOGICAL UNIT * AND FUNCTION CODE. * * XLUEX CONTROL WORD: TWO WORD PARAMETER USED TO DEFINE: * * WORD 1>LOGICAL UNIT (BITS 7-0) * WORD 2>FUNCTION CODE (BITS 10-6) * * THE FUNCTION CODE FIELD IS IDENTICAL TO THE FUNCTION * CODE FIELD DEFINED FOR STANDARD EXEC I/O REQUESTS. * * * HED POWER FAIL RESTART RTN. FOR MULTIPOINT NAM AUTOR,1,1 91730-16009 REV.1926 790206 EXT EXEC,FIXMP,XLUEX * A EQU 0 B EQU 1 * AUTOR NOP ENTRY/TEMPORARY STORAGE JSB FIXMP RESTART MP SYSTEM DEF *+1 * CLA,INA RESET LU# TO STA PLU 1 FOR THIS ENTRY * SRCH JSB XLUEX *SEARCH EQT FOR DVR43* DEF *+5 ERROR RETURN DEF ICODE REQUEST CODE DEF PLU LU# FOR STATUS CALL DEF EQT5 BUF LOCATION DEF EQT4 BUF LOCATION JMP BDLU ERROR ROUTINE * LDA EQT5 AND EMASK MASK OUT STATUS AND AV. CPA .43 TEST FOR POWER FAIL DRIVER JMP BDLU1 FOUND DVR43-GO CHECK FOR SC=4 BDLU LDA PLU NOT DVR43--GO TRY AGAIN CPA MAXLU TEST FOR END OF LU#S JMP NO.LU YES-POWER FAIL DRIVER NOT FOUND INA NO-CONTINUE SEARCH--BUMP LU STA PLU SAVE LU# FOR EXEC CALL JMP SRCH * BDLU1 LDA EQT4 GET EQT4 AND B77 MASK TO GET SC CPA B4 SC=4-->POWER FAIL JMP GTIME FOUNF POWER FAIL LU GO GET TIME OF P/F JMP BDLU NO, GO SERCH SOME MORE. * * * * POWER FAIL DRIVER NOT FOUND * NO.LU JSB EXEC DEF *+5 DEF .2 DEF .1 DEF NOBUF DEF NBL CLA STA PLU SET P/F LU. TO 0 FOR SECOND CALL JMP SCAN * * * POWER FAIL DRIVER FOUND * REQUEST READ TO * OBTAIN TIME * GTIME JSB XLUEX DEF GT2 RETURN DEF .1 READ DEF PLU LU OF P/F DRIVER DEF TIME TIME BUFFER DEF .3 BUFFER LENGTH * * * GT2 LDA TIME *CONVERT TIME FOR PRINTING* LDB TIME+1 CLE CLEAR E FOR ADDITION ADA PRS1 ADD POSITIVE 24 HRS. SEZ TO GET A POSITIVE INB TIME ADB PRS2 DIV .6000 DIVIDE BY 6000 STA BUF1 TEMPORARY STORAGE FOR MIN/HRS ASR 16 POSITION B(SEC/10MS) FOR DIVIDE DIV .100 DIVIDE BY 100 TO GET SEC/10MS STB BUF4 SET 10MS VALUE STA BUF3 SET SECONDS VALUE CLB CLB FOR DIVIDE LDA BUF1 GET MIN/HRS DIV .60 SEPARATE STB BUF2 SET MIN LDB R.BUF SET BUFFER AREA POINTER STB TEMP1 FOR THIS CONVERSION LDB N4 SET CONVERSION COUNTER STB TEMP2 * * BACK JSB CNVRT GO CONVERT TO ASCII STA TEMP1,I SAVE IN OUTPUT BUFFER ISZ TEMP2 TEST FOR END OF CONVERSION RSS JMP DA.YR GO CONVERT DAY AND YEAR ISZ TEMP1 BUMP OUTPUT POINTER ISZ TEMP1 LDA TEMP1,I GET NEXT VALUE JMP BACK GO CONVERT NEXT VALUE * DA.YR LDA TIME+2 FETCH DAY AND YEAR CLB DIV D365 GET YEAR CCE,INB INCRE (B) FOR DAY 0 CORRECTION ADA YEAR1 SET YEAR INTO BUFFER STA YEAR SAVE FOR PRINTING ASR 16 PREPARE TO GET DAY DIV .100 GET HUNDREDS IOR BLK0 STA DAY SAVE IN PRINT BUFFER ASR 16 JSB CNVRT GO GET TENS AND ONES STA DAY+1 SAVE IN PRINT BUFFER LDA YEAR CONVERT YEAR TO ASCII JSB CNVRT STA YEAR * * * * SCAN EQT FOR ALL TTY DEVICES (DVR00) * AND ISSUE WRITE REQUEST (POWER FAIL * TIME MESSAGE ) TO EACH * * * SCAN CLA,INA SET LU#. TO STA TLU 1 FOR SEARCH OF EQT SCAN2 JSB XLUEX DEF *+6 ERROR RETURN POINT DEF ICODE REQUEST CODE DEF TLU LU# FOR STATUS TEST DEF EQT5 BUF LOCATION DEF TIME DUMMY LOCATION FOR EQT4 DEF SUBCH SUBCHANNEL INFO RETURNED HERE JMP BAD LU NOT ASSIGNED-GO TEST NEXT LU * LDA EQT5 FETCH EQT5 AND EMASK GET RID OF STATUS AND AV. SZA,RSS TEST FOR DVR00 JMP PRINT FOUND DVR00 GO PRINT P/F MESSAGE CPA DVR05 IS IT DVR05? JMP SBCHK CHECK SUBCHANNEL TO BE SURE IT IS CRT CPA DVR07 CHECK FOR DRIVER TYPE 07 JMP LINCK CHECK FOR LINE EQT BAD LDA TLU NOT DVR00-CONTINUE CPA MAXLU TEST FOR END OF SCAN JMP DONE YES-GO RESET POINTERS AND CONSTANTS-EXIT INA NO-BUMP LU# STA TLU SET LU# FOR NEXT TEST JMP SCAN2 GO TEST NEXT LU * SBCHK LDA SUBCH IT'S DVR05, IS IT CRT? AND B37 SZA JMP BAD NO JMP PRINT YES, PRINT THE MESS. * * ROUTINE TO LOCATE MULTIPOINT LINE LU'S. * LINCK LDA TLU GET EQT NUMBER FROM DRT ADA DM1 ADA 1652B LDA A,I AND B77 MASK LOW SIX BITS ADA DM1 CALC. EQT ADD. MPY .15 ADA 1650B STA B SAVE EQT ADD IN "B" ADA .10 GET EQT11 LDA A,I SZA,RSS ACTIVE EQT (EQ11#0)? JMP BAD NO, QUIT LDA B YES, GET EQT ADD BACK ADA .12 GET EQT EXT ADD LDA A,I LDA A,I GET THE CONT. SSA,RSS LINE EQT?(EQT16-B15=1-->LINE) JMP BAD NO,QUIT * * JMP PRINT YES, PRINT MESS. * * NOTE FALL THROUGH TO "PRINT" * * * * * * PRINT POWER FAIL MESSAGE * ON CONSOLE DEVICE FOUND IN SCAN ROUTINE * * * * * PRINT JSB XLUEX DEF *+5 RETURN DEF .2 WRITE COMMAND DEF TLU LU# OF DEVICE DEF MESS P/F MESSAGE DEF MESL. MESSAGE LENGTH JMP BAD GO TEST FOR END OF SEARCH-CONTINUE SPC 5 * * * * CONVERT A TWO DIGIT BINARY NUMBER INTO ASCII * * * * CNVRT NOP CLB DIV .10 GET TENS AND ONES ALF,ALF SHIFT TENS DIGIT INTO UPPER CHAR POSITION IOR ASCII CREATE AN ASCII FIELD IOR B 'OR' IN ONES DIGIT JMP CNVRT,I * * * * SECOND CALL ON P.FAIL ROUTINE RESETS * TO SAVE TIME ON NEXT FAILURE. * * DONE JSB XLUEX DEF *+5 DEF N1 SECOND READ REQUEST DEF PLU LU OF P/F DRIVER. DEF TIME TIME BUFFER DEF .3 BUFFER LEGNTH NOP POINT OF RETURN IF P/F LU. UNKNOWN SPC 5 * * * * * * * * *************EXIT TO SYSTEM************* JSB EXEC DEF *+2 DEF IC2 * * * * * CONSTANT AND STORAGE AREAS * * ICODE OCT 100015 YEAR1 DEC 70 BLK0 OCT 020060 ASCII OCT 030060 EMASK OCT 37400 DVR05 OCT 02400 DVR07 OCT 03400 SUBCH NOP B37 OCT 37 .43 OCT 21400 B4 OCT 4 D365 DEC 365 B77 OCT 77 .2 DEC 2 .3 DEC 3 .1 DEC 1 N1 OCT 100001 PRS1 OCT 153000 PRS2 OCT 203 EQT5 BSS 1 EQT4 BSS 1 TEMP2 EQU EQT5 TEMPORARY STORAGE NOBUF OCT 6412 CR/LF ASC 12, NO POWER FAIL LU FOUND. NBL DEC 13 TIME BSS 3 .6000 DEC 6000 .100 DEC 100 .60 DEC 60 .10 DEC 10 .12 DEC 12 .15 DEC 15 DM1 DEC -1 MESS OCT 6412 ASC 9, POWER FAILED AT BUF1 NOP ASC 1,: BUF2 NOP ASC 1,: BUF3 NOP ASC 1,. BUF4 NOP ASC 4,0 ON DAY DAY BSS 2 ASC 2, OF ASC 1,19 YEAR BSS 1 MESL. DEC 27 TEMP1 BSS 1 TEMPORARY STORAGE **** PLU NOP NOTE : 2 WORD PARAMETER FOR XLUEX NOP **** **** TLU NOP TERMINAL LU OCT 400 SET THE "K" BIT **** * R.BUF DEF BUF1 IC2 DEC 6 N4 OCT -4 MAXLU EQU 1653B END AUTOR