ASMB,Q,C NAM SYSAT,19,45 91750-16202 REV.2013 800814 ALL SUP * * ****************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. 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. * ****************************************************************** * * NAME: SYSAT * SOURCE: 91750-18202 * RELOC: 91750-16202 * PGMR: JOHN LAMPING * * * WRITTEN BY LYLE WEIMAN [OCTOBER 1979] * MODIFIED BY JOHN LAMPING [NOVEMBER 1979] * " " LYLE WEIMAN [JULY 1980] * * THIS PROGRAM MAY BE USED TO SEND A "BREAK" TO A REMOTE PROGRAM, * E.G., ONE WHICH IS PRINTING VIA LU MAPPING, AND YOU NEED TO * TERMINATE THE PRINTOUT PREMATURELY WITHOUT ABORTING IT, * OR TO OBTAIN THE REMOTE SYSTEM'S ATTENTION. * * USE (RTE-4B, RTE-L) : * - - - - * / \ * / \ * / \ * *RU,SYSAT, , * \ / * \ / * \ / * * * USE (RTE-M3) : * - - - - * / \ * / \ * / \ * *RU,SYSAT, , * \ / * \ / * \ / * PR,GN,AM * * NOTE THAT, IN RTE-M3, THE PROGRAM NAME MUST BE DIVIDED INTO * THREE GROUPS OF TWO CHARACTERS, SEPARATED BY COMMAS. * * * IF PROGRAM NAME SUPPLIED, A "BR," COMMAND IS * SENT TO THE REMOTE NODE SPECIFIED, VIA A CALL TO DMESS (THIS * REQUIRES THAT THE REMOTE OPERATOR COMMAND MODULE--OPERM--EXIST AND IS * ENABLED AT THE REMOTE). * * IF NO PROGRAM IS NAMED, SYSTEM ATTENTION IS REQUESTED VIA * A CALL TO DMESS TO "RU,IOMAP". AGAIN, THIS IMPLIES THAT THE * REMOTE COMMAND PROCESSOR--OPERM--EXIST, AND ALSO THAT IOMAP * EXISTS AT THE REMOTE. * * SEQUENCE OF OPERATIONS: * * 1. #PKUP IS CALLED TO RETRIEVE PARAMETERS. IN RTE-M, PROGRAM * NAME IS BROKEN UP INTO 3 GROUPS OF TWO CHARACTERS, SEPARATED * BY COMMAS. * 2. LOGLU IS CALLED TO RETURN THE OPERATOR'S TERMINAL LU # * (NOT SAME AS 1ST PARAM, SO DON'T TRUST #PKUP'S RETURN). * 3. CHECK INPUT. IF NO NODE # SPECIFIED, GOTO "EXIT". * 4. CHECK 1ST PARAMETER: IF ASCII, GOTO STEP 9 * 5. CONVERT VALUE OF 2ND PARAMETER TO ASCII, STORED IN XXXXXX FIELD * OF MESSAGE: * RU,IOMAP, XXXXXX,-32768,25834 * 6. SEND MESSAGE TO REMOTE NODE #. * 7. CHECK FOR ERROR: IF SO, CALL DSERR & PRINT DETAILS OF ERROR. * IF NO DS ERROR REPORTED, PRINT "MESSAGE DELIVERED". * CHECK FOR RETURNED MESSAGE: IF SO, PRINT THAT. * GO TO "EXIT". * 8. (EXIT): TERMINATE PROGRAM * 9. MOVE NAMED PROGRAM INTO XXXXXX FIELD OF MESSAGE: * BR,XXXXXX * AND SEND MESSAGE TO REMOTE NODE. * GO TO STEP 7 SPC 2 EXT LOGLU,#PKUP,DMESS,EXEC,DSERR EXT CNUMD,.MVW,.OPSY SPC 2 SYSAT EQU * JSB #PKUP RECOVER PARAMETERS DEF *+4 DEF MASK DEF PBUFR RETURNED INFO ARRAY DEF LUTTY * * NOTE! #PKUP MAY HAVE RETURNED THE WRONG LU, SINCE IT * EXPECTS THE FIRST PARAMETER TO BE THE LU #. SO WE'LL CALL * 'LOGLU' OURSELVES, TO BE CERTAIN. * * JSB LOGLU DETERMINE WHAT LU TO USE FOR PRINTOUT DEF *+2 DEF LUTTY DUMMY STORAGE STA LUTTY SAVE LU # * * IF THIS IS RTE-M3, AND THE USER HAS SELECTED THE * "BR, PROGR" FORMAT, WE'LL HAVE TO MOVE THE PARAMETERS * AROUND A LITTLE BIT. * JSB .OPSY CHECK OPERATING SYSTEM TYPE CPA RTEM3 RTE-M3? RSS YES, WE HAVE MORE THINGS TO CHECK.... JMP S1 NO, #PKUP HAS GIVEN US THE RIGHT DATA FORMAT LDA PBUFR+3 IS #PKUP BEING TOO CPA B27 NICE TO US? RSS YES,.... JMP S1 NO, CONTINUE LDA PBUFR+4 #PKUP HAS PUT THE NODE NUMBER IN THE SECURITY STA RNODE CODE PART OF THE CLA,INA AND PRETEND WE REALLY DID GET STA RNODE+3 A NODE NUMBER * S1 EQU * LDA PBUFR+3 WAS A PROGRAM AND D3 CHECK ONLY 1ST PARAMETER TYPE FIELD CPA D3 NAME GIVEN? JMP BRPRG YES, ISSUE "BR,PROGRAM NAME" * * GET SYSTEM ATTENTION * LDA @SYMS LDB @BUFR MOVE MESSAGE TO BUFFER JSB .MVW DEF D15 NOP JSB CNUMD CONVERT LU # (IF ANY) DEF *+3 DEF PBUFR DEF BUFFR+5 * LDA SYML LOAD MESSAGE SIZE, IN BYTES * DMES. EQU * HERE TO ISSUE DMESS CALL STA MSLEN SAVE MESSAGE SIZE, IN BYTES LDA RNODE+3 CHECK RETURN: CPA D1 WAS AN NODE # RETURNED? RSS YES, CONTINUE JMP EXIT NO NODE # PASSED * JSB DMESS NOW SEND MESSAGE TO REMOTE DEF *+4 DEF RNODE DESTINATION NODE # @BUFR DEF BUFFR MESSAGE BUFFER DEF MSLEN MESSAGE LENGTH, IN BYTES * STA PBUFR SAVE REPLY LENGTH SSB ERROR? JMP ERPRT YES, GET DETAILS * JSB PRNT DEF SUCMG "MESSAGE DELIVERED" DEF SUCML * LDA PBUFR GET REPLY LENGTH SZA,RSS ANY RETURN MESSAGE? JMP EXIT NO, SIMPLY EXIT * * A MESSAGE HAS BEEN RETURNED. PRINT IT FOR USER. * JSB PRNT DEF BUFFR DEF PBUFR * * HERE TO TERMINATE * EXIT EQU * JSB EXEC DEF *+2 DEF D6 SPC 2 * HERE TO GET DETAILS ABOUT AN ERROR * ERPRT EQU * JSB DSERR DEF *+2 DEF BUFFR * JSB PRNT PRINT THE ERROR DEF BUFFR DEF D24 BUFFER LENGTH JMP EXIT SPC 2 * HERE TO ISSUE "BR,PROGRAM NAME" * BRPRG EQU * LDA @BR LDB @BUFR JSB .MVW MOVE MESSAGE DEF D5 NOP * LDA D10 LOAD SIZE OF MESSAGE JMP DMES. AND CALL DMESS SPC 1 * SUBROUTINE TO PRINT MESSAGES * * CALLING SEQUENCE: * JSB PRNT * DEF * DEF * PRNT NOP DLD PRNT,I DST PRN1 ISZ PRNT BUMP RETURN ISZ PRNT ADDRESS JSB EXEC AND PRINT MESSAGE DEF *+5 DEF D2 DEF LUTTY PRN1 NOP MESSAGE ADDRESS NOP ADDRESS OF LENGTH JMP PRNT,I RETURN TO CALLER SPC 2 * DATA AREA * M5 DEC -5 RTEM3 EQU M5 $OPSY CODE FOR RTE-M3 D1 DEC 1 D2 DEC 2 D3 DEC 3 D5 DEC 5 D6 DEC 6 D15 DEC 15 D10 DEC 10 B27 OCT 27 D24 DEC 24 * * DEFINE #PKUP MASK MASK BYT 2,3 2 PARAMS: BOTH RET'D IN FORMAT * LUTTY NOP STORAGE FOR TERMINAL LU MSLEN NOP @SYMS DEF SYMS SYMS ASC 15,RU,IOMAP, XXXXXX,-32768,25834 SY.. EQU *-SYMS SYML ABS SY..+SY.. SYZE OF MESSAGE, IN BYTES * SUCMG ASC 9,MESSAGE DELIVERED SUCML ABS *-SUCMG * * NOTE: DO NOT DISTURB ORDER OF THE FOLLOWING: @BR DEF BRMS BRMS ASC 2,BR, * PBUFR BSS 10 PARSE BUFFER RNODE BSS 10 REMOTE NODE NUMBER * * * END OF FIXED-ORDERING * BUFFR BSS 24 MESSAGE BUFFER END SYSAT