*DECK INSTOUT 
          IDENT  INSTOUT
          TITLE  INSTOUT -  ROUTINES TO WRITE OUT INSTRUCTIONS
  
          MACHINE  ANY,I
          COMMENT  ROUTINES TO WRITE OUT INSTRUCTIONS 
*CALL     COBIOM
          SPACE  4
**        INSTOUT -  ROUTINES TO WRITE OUT INSTRUCTIONS 
* 
*         CONTAINS: 
*                INITOUT   - INITIATE OUTPUT ACTION ON ZZZZZ49
*                FLUSHWS   - WRITE OUT SOMETHING ON ZZZZZ49 
*                CLOSINS   - CLOSE ZZZZZ49
          SPACE  4
**        FLUSHWS -  FLUSH WORKING STORAGE AREA TO ZZZZZ49
* 
*         WSLEN = NUMBER OF WORDS IN WORKING STORAGE SECTION. 
*         OUTWS = ADDRESS OF WORKING STORAGE AREA.
* 
*         FLUSHWS;                               (FROM SYMPL) 
*         RJ     FLUSHWS                         (FROM COMPASS) 
  
  
          ENTRY  FLUSHWS
 FLUSHWS  DATA   0
          SA5    WSLEN
          ZR     X5,FLUSHWS 
          MX6    0
          SA6    A5 
          SA4    OUTWS
          SB2    X4 
          SB3    X5 
          PUTSQ  ZZZZZ49,B2,B3
          EQ     FLUSHWS
          SPACE  4
**        INSTOUT - MOVE INSTRUCTION TO WSA 
*         INPUT 
*                A1 - APLIST POINTER
*                FIRST OPERAND - INSTRUCTION ADDRESS
*                SECOND OPERAND - INSTRUCTION LENGTH
          ENTRY  INSTOUT
 INSTOUT  BSS    1
          SA2    X1          INSTRUCTION ADDRESS
          SA1    A1+1 
          SA3    X1          INSTRUCTION LENGTH 
          SA4    WSLEN
          IX5    X4+X3
          SA1    WSLIM
          IX6    X1-X5
          PL     X6,INSTOUT1 DATA FITS IN WSA 
          BX6    X2 
          SA6    INSTADR
          BX6    X3 
          SA6    INSTLEN
          RJ     FLUSHWS
          SA2    INSTADR
          SA3    INSTLEN
          MX4    0           WSLEN
 INSTOUT1 SB1    1
          SB2    X3          LENGTH 
          SA1    X2          FIRST WORD TO MOVE 
          SB3    X4+WSOUT-1 
          SB4    B1 
 INSTOUT2 BX6    X1 
          SA1    A1+B1
          SA6    B3+B4
          SB4    B4+B1
          LE     B4,B2,INSTOUT2 
          SX6    X4+B2
          SA6    WSLEN
          EQ     INSTOUT
          SPACE  3
**        INITOUT -  INITIATE OUTPUT ACTION ON ZZZZZ49
* 
*         INITOUT;                               (FROM SYMPL) 
*         RJ     INITOUT                         (FROM COMPASS) 
* 
*         OPENM-S ZZZZZ49 
*         SETS WSLEN = 0. 
  
  
          ENTRY  INITOUT
 INITOUT  DATA   0
          EQ     INITOUT
          SPACE  3
**        OPENINS - OPEN ZZZZZ49
* 
          ENTRY  OPENINS
 OPENINS  DATA    0 
          STORE  ZZZZZ49,OPFL=YES  SET AS OPEN
          REWND  ZZZZZ49
          MX6    0
          SA6    WSLEN
          EQ     OPENINS
          SPACE  4
**        CLOSINS -  CLOSE ZZZZZ49
* 
*         CLOSINS;                               (FROM SYMPL) 
*         RJ     CLOSINS                         (FROM COMPASS) 
* 
*         CLOSEM-S ZZZZZ49. 
  
  
          ENTRY  CLOSINS
 CLOSINS  DATA   0
          PUTSQ  ZZZZZ49,0,0 FLUSH THE CIO BUFFER 
          REWIND ZZZZZ49
          EQ     CLOSINS
  
          ENTRY  RTNINST
 RTNINST  DATA    0 
          RETRN  ZZZZZ49
          EQ     RTNINST
  
          SPACE  4
*      ZZZZZ49
  
          ENTRY  OUTWS
 INSTADR  BSS    1
 INSTLEN  BSS    1
 OUTWS    VFD    60/WSOUT 
 WSOUT    BSS    200
 WSLEN    BSS    1
          ENTRY  WSLIM
 WSLIM    DATA   200
          ENTRY  ZZZZZ49
 ZZZZZ49  FILEB  OUTBUF,Z49BFS,(RTP=W)
 OUTBUF   BSS    Z49BFS      NO CMM BLOCK - ONLY USED THIS OVERLAY
          END 
