*DECK C$STOPL 
          IDENT  C$STOPL
          TITLE  CBSTOPL - STOP LITERAL PROCESSING
  
          MACHINE  ANY,I
          COMMENT  STOP LITERAL PROCESSOR 
          SST 
          SPACE  4
**
*         STOP LITERAL PROCESSING 
*         CALLING SEQUENCE -
*         SB3    FWA OF LITERAL 
*         SB4    SIZE 
*         RJ     C.STOPL
* 
*         SENDS MESSAGE -PAUSE        - FOLLOWED BY LITERAL 
*         TO JOB DAYFILE AND TERMINAL (IF INTERACTIVE JOB) OR 
*         CONSOLE B-DISPLAY (IF BATCH JOB). 
* 
*         DESTROYS ALL REGISTERS
* 
**
          ENTRY  C.STOPL
          EXT    C.BUFF 
  
*CALL,IODEFSC 
  
 C.STOPL  BSSZ   1
          EXT    C.DSPLY
          EXT    C.ACCMN
          SA1    66B         CHECK FOR INTERACTIVE JOB
          MX0    12 
          AX1    24 
          BX2    -X0*X1 
          SB2    X2-3 
          NZ     B2,NOTTERM  JUMP, IF NOT A TERMINAL JOB
          SX6    B4          SAVE PARAMETERS
          SX7    B3 
          LX6    18 
          BX6    X6+X7
          SA6    PARAM       STORE PARAMETERS IN LOCAL WORD 
* 
*         MAKE CALL TO D.DSPLY TO DISPLAY MESSAGE ON TERMINAL 
* 
          SB7    B4          SIZE OF LITERAL
          SB5    B3          FWA OF MESSAGE 
          SB6    B0          OFFSET 
          SB4    B0          NO ADVANCING 
          SA1    =XC.SYSF+#TERM#-1     TERMINAL FILE NAME 
 OPSYS    IFC    EQ,/"OSNAME"/SCOPE / 
          SX6    1
          BX1    X1+X6
 OPSYS    ENDIF 
          RJ     C.DSPLY
* 
*         NOW WAIT FOR TERMINAL RESPONSE
* 
          SA1    PARAM       GET ORIGINAL PARAMETERS
          SB3    X1 
          SB5    PARAM       FWA OF DUMMY BUFFER
          SB6    B0          OFFSET 
          SB7    20D         ALLOW 20 CHARS. OF INPUT 
          SA1    =XC.SYSF+#TERM#-1     TERMINAL FILE NAME 
          RJ     C.ACCMN
          EQ     C.STOPL     RETURN 
* 
 PARAM    BSSZ   3
* 
 NOTTERM  BSS    0
          SB2    B4-10       MOVE LIT TO BUFFER 
          SA1    B3          AT LEAST 13 CHARS MUST BE MOVED
          BX6    X1 
          SA6    C.BUFF 
 LOOP     SB2    B2-10       DECREASE CHAR. COUNT BY 10 (ONE WORD FULL) 
          SA1    A1+B1
          BX6    X1 
          SA6    A6+B1
          GT     B2,B0,LOOP  IF B2 POSITIVE, MORE WORDS ARE LEFT TO MOVE
          MX6    0           SET A ZERO WORD TERMINATOR 
          SA6    A6+B1
          MESSAGE  C.BUFF,LOCAL,RCL    SEND MESSAGE 
          SX7    B1          SET THE PAUSE BIT
          LX7    12 
          SA1    B0 
          BX7    X1+X7
          SA7    A1 
 RCLOOP   RECALL             WAIT FOR PAUSE BIT TO CLEAR
          SA1    B0 
          LX1    47 
          MI     X1,RCLOOP
          EQ     C.STOPL     RETURN 
          END 
