ASMB,R,Q,C
*     NAME:   MESSS 
*     SOURCE: 92071-18208 
*     RELOC:  92071-1X208 
*     PGMR:   HLC,DJN 
* 
* 
*  **************************************************************** 
*  * (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.        * 
*  **************************************************************** 
* 
* 
      NAM MESSS,7  92071-1X208  REV.2041  800610
      ENT MESSS 
* 
      EXT $LIBR,.ENTP,$PVCN,$ZPCN 
      EXT .XLD,.XST 
      EXT $XQLU,$ERMG,$XEQ,$CON 
      EXT $SJP,$MES.,$SJS0
* 
* THIS ROUTINE CAN NOT USE THE SOFTWARE CROSS MAP INSTRUCTION 
* IN CASE THE SOFTWARE EMULATION ROUTINES ARE PUT IN COMMON 
* (THEIR $LIBR CALL WILL EVENTUALLY RESULT IN AN SR ABORT)!!!.
* 
A     EQU 0 
B     EQU 1 
* 
TEMP  NOP 
BUFFR NOP 
LNGTH NOP 
LU    NOP 
MESSS NOP 
      CLA 
      STA LU        CLEAR PREVIOUS LU 
      JSB .ENTP     PICK UP THE PARAMATERS
      DEF BUFFR 
      STA MESSS     FIX RETURN
      JSB $LIBR     GO PRIVILEDGED
      NOP 
      JSB .XLD      GET NESTING LEVEL 
      DEF $PVCN 
      ADA =D-1      SHOULD BE ZERO NOW
      JSB .XST      PUT IT BACK 
      DEF $PVCN 
      STA TEMP
      JSB .XLD      OR IN .ZPRV NESTING LEVEL 
      DEF $ZPCN 
      IOR TEMP
      SZA 
      JMP SR        ERROR! CALLED FROM PRIVILEGED ROUTINE 
      LDA LU,I
      SZA 
      JMP STORE     LU PASSED 
      JSB .XLD      GET ADDRESS STORED AT $CON
      DEF $CON
      JSB .XLD      GET WORD POINTED TO BY $CON 
      DEF A,I 
      AND =B77      DEFAULT TO CALLER'S LU
STORE JSB .XST      SAVE IN CASE OF 'XQ' COMMAND
      DEF $XQLU 
      LDA BUFFR     ADDRESS OF MESSAGE
      LDB LNGTH,I   LENGTH
* 
* THIS ROUTINE JUMPS TO THE SYSTEM, AND THE 
* RETURN TO THE USER'S CALL OCCURS WHEN THE 
* PROGRAM IS DISPATCHED.
* 
      JSB $SJS0     JUMP INTO SYSTEM
      DEF $MES.     USER CALLABLE ENTRY POINT 
      JMP MESSS,I   RETURN HERE ON NEXT DISPATCH
* 
SR    LDA =ASR
      LDB =A
      JSB $SJS0     PRINT ERROR MESSAGE AND ABORT SELF
      DEF $ERMG 
      JSB $SJP      CROSS MAP JUMP
      DEF $XEQ
      END 
                                                                                                                                                                                                                  