ASMB,R,Q,C
*     NAME:   MESSS 
*     SOURCE: 92070-18208 
*     RELOC:  92070-1X208 
*     PGMR:   HLC 
* 
* 
*  **************************************************************** 
*  * (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.        * 
*  **************************************************************** 
* 
* 
      NAM MESSS,7  92070-1X208  REV.1941  790205
      ENT MESSS 
* 
      EXT $LIBR,$MESS,.ENTP,$PVCN,$ZPCN 
      EXT $XQLU,$A,$ERMG,$XEQ,$CON,$SUSP
* 
A     EQU 0 
B     EQU 1 
* 
* 
BUFFR NOP 
LNGTH NOP 
LU    NOP 
MESSS NOP 
      CLA 
      STA LU        CLEAR PREVIOUS LU 
      JSB .ENTP 
      DEF BUFFR     PASS PARAMETERS 
      JSB $LIBR     TURN OFF MEMORY PROTECT 
      NOP 
      STA $SUSP,I   SET POINT OF SUSPENSION TO RETURN ADDRESS 
      CCA 
      ADA $PVCN 
      STA $PVCN     SHOULD BE ZERO NOW
      IOR $ZPCN 
      SZA 
      JMP SR        ERROR! CALLED FROM PRIVILEGED ROUTINE 
      STA $A,I      RETURNED MESSAGE LENGTH ZERO
      LDA LU,I
      SZA 
      JMP STORE     LU PASSED 
      LDA $CON,I
      AND =B77      DEFAULT TO CALLER'S LU
STORE STA $XQLU     SAVE IN CASE OF 'XQ' COMMAND
* 
      LDA BUFFR     ADDRESS OF MESSAGE
      LDB LNGTH,I   LENGTH
      JSB $MESS     SYSTEM MESSAGE ENTRY POINT
* 
      STA $A,I      ONLY RETURNS HERE IF MESSAGE RETURNED 
      JMP $XEQ      CONTINUE AT POINT OF SUSPENSION 
* 
* 
* 
SR    LDA =ASR
      LDB =A
      JSB $ERMG     PRINT ERROR MESSAGE AND ABORT SELF
      JMP $XEQ
      END 
                          