*DECK C$SNAP
          IDENT  C$SNAP 
  
          COMMENT  WRITE SNAP DUMP ON TERMINATION DUMP FILE 
  
**        C.SNAP - WRITE SNAP DUMP ON TERMINATION DUMP FILE 
* 
*         CALLED BY USER (COBOL 5 PROGRAMER)
* 
*         DOES - WRITES SNAP DUMP LITERAL TO DUMP FILE
*                CALLS C.TDUMP TO DO THE ACTUAL DUMP
*                FORMAT OF LITERAL PLACED ON DUMP FILE
*                WORD 1 - 42/0,18/LENGTH OF LITERAL 
*                WORD 2-4 LITERAL SPACE FILLED
* 
*         INPUT  A1 - PARAMETER LIST
*                     PARAMETER - ALPHANUMERIC OR LITERAL < 31 CHARS
* 
*         USES   ALL REGISTERS
* 
*         OUTPUT NONE 
* 
  
          EXT    ZZZZZ4P
          ENTRY  C.SNAP 
 C.SNAP   EQ     *+1S17 
          SB1    1
          SA1    A1 
          BX7    X1 
          SA7    =SPARAM           SAVE PARAM DESCRIPTION 
          FETCH  ZZZZZ4P,OC,X5
          SX5    X5-#OPE# 
          ZR     X5,OPENED         JUMP IF DUMP FILE OPENED 
          OPENM  ZZZZZ4P,OUTPUT,R 
  
 OPENED   SA1    PARAM
          MX2    -3 
          LX2    18 
          BX2    -X2*X1 
          AX2    18          (X2) = USAGE FIELD OF DESCRIPTOR 
          SX2    X2-1 
          ZR     X2,C.SNAP1  IF DISPLAY ITEM
          SA1    C.SNAPA
          BX7    X1 
          SA7    PARAM       SET INFORMATIVE MESSAGE
          SA1    PARAM
 C.SNAP1  SB5    X1 
          LX1    24 
          SB7    X1          B7 = SIZE OF SOURCE
          SX2    B7-30       X2 = NUMBER OF SPACES TO APPEND
          NG     X2,SIZEOK   JUMP IF SIZE < 30
          ZR     X2,SIZEOK   JUMP IF SIZE = 30
          SB7    30 
          SX2    B0 
 SIZEOK   SX6    B7 
          SA6    A1 
          MX3    6
          BX3    X3*X1
          LX3    6
          SB6    X3          B6 = BCP OF SOURCE 
          SB3    SNAPLIT     B3 = FWA OF RECEIVER 
          SB4    B0          B4 = BCP OF SOURCE 
          RJ     =XC.MOVE 
          PUTP   ZZZZZ4P,PARAM,10,,,0  WRITE SNAP HEADER
          PUTP   ZZZZZ4P,SNAPLIT,30  WRITE SNAP LITERAL 
          MX7    1
          SA7    C.SNAPD
          RJ     =XC.TDUMP         DO THE DUMP
          MX7    0
          SA7    C.SNAPD
          EQ     C.SNAP 
  
 C.SNAPA  VFD    3/0,2/2,1/0,18/30,6/0,6/50B,3/3,3/1,18/C.SNAPB 
 C.SNAPB  DATA   30HBAD/MISSING C.SNAP PARAMETER
  
          EXT    C.SNAPD
 SNAPLIT  BSS    3
          END 
