*COMDECK     COMACREL  - SYSTEM MACRO INTERFACE ROUTINES. 
          LIST   F,X
          SYSCOM
          TITLE  MACREL - SYSTEM MACRO INTERFACE ROUTINES.
          COMMENT  SYSTEM MACRO INTERFACE ROUTINES. 
 MACREL   SPACE  4,8
**        MACREL - SYSTEM MACRO INTERFACE ROUTINES. 
* 
*         R. H. GOODELL.     76/07/27.
* 
*         MACREL PROVIDES SYMPL-CALLABLE ENTRY POINTS TO
*         INTERFACE ROUTINES WHICH CALL THE CORRESPONDING 
*         SYSTEM ACTION MACROS. 
 .RM      SPACE  4,8
**        .RM  -  SELECT I/O METHOD.
* 
*         .RM  =  0     USE MACE I/O. 
*         .RM  =  1     USE RECORD MANAGER. 
  
  
 .RM      EQU    1           USE RECORD MANAGER 
 ABORT    SPACE  4,8
**        ABORT - ABORT JOB.
* 
*         PROC ABORT .
  
  
 ABORT    SUBR   =
          ABORT 
 MESSAGE  SPACE  4,8
**        MESSAGE - DISPLAY MESSAGE.
* 
*         PROC MESSAGE (M, D).
* 
*         ITEM M C (10N).    MESSAGE TEXT, ENDING WITH A ZERO BYTE. 
*         ITEM D I.          DESTINATION CODE.
*                            0 = SYSTEM AND LOCAL DAYFILES, AND 
*                                  A- AND B-DISPLAYS. 
*                            5HLOCAL = LOCAL DAYFILE AND B-DISPLAY. 
*                            OTHER = B-DISPLAY ONLY.
  
  
 MESSAGE  SUBR   =           ENTRY/EXIT 
          SA2    A1+1 
          SA2    X2          FETCH D
          NZ,X2  MSG1        IF NOT 0 
          MESSAGE  X1,,R
          JP     EXIT.
 MSG1     SA3    =5HLOCAL 
          IX6    X2-X3
          NZ,X6  MSG2        IF NOT *LOCAL* 
          MESSAGE  X1,LOCAL,R 
          JP     EXIT.
 MSG2     MESSAGE  X1,1,R 
          JP     EXIT.
 RECALL   SPACE  4,8
**        RECALL - WAIT FILE NOT BUSY.
* 
*         PROC RECALL (F).
* 
*         ARRAY F [0:4].     FILE ENVIRONMENT TABLE.
  
  
 RECALL   SUBR   =           ENTRY/EXIT 
          RECALL X1 
          JP     EXIT.
 REWIND   SPACE  4,8
**        REWIND - REWIND FILE. 
* 
*         PROC REWIND (F).
* 
*         ARRAY F [0:4].     FILE ENVIRONMENT TABLE.
  
  
 REWIND   SUBR   =           ENTRY/EXIT 
          IFEQ   .RM,0
          REWIND X1 
          ELSE
          OPENM  X1,OUTPUT,R
          ENDIF 
          JP     EXIT.
 WRITER   SPACE  4,8
**        WRITER - WRITE END OF RECORD. 
* 
*         PROC WRITER (F).
* 
*         ARRAY F [0:4].     FILE ENVIRONMENT TABLE.
  
  
 WRITER   SUBR   =           ENTRY/EXIT 
          IFEQ   .RM,0
          WRITER X1 
          ELSE
          WEOR   X1 
          ENDIF 
          JP     EXIT.
 WRITEW   SPACE  4,8
**        WRITEW - WRITE WORDS FROM WORKING BUFFER. 
* 
*         PROC WRITEW (F, B, N).
* 
*         ARRAY F [0:4].     FILE ENVIRONMENT TABLE.
*         ARRAY B [1:N].     WORKING BUFFER.
*         ITEM N I.          NUMBER OF WORDS. 
  
  
 WRITEW   SUBR   =           ENTRY/EXIT 
          SA4    A1+2        LOC OF N 
          SB1    1           (B1) = 1 
          SA3    A1+B1       LOC OF B 
          SA4    X4          VALUE OF N 
          IFEQ   .RM,0
          WRITEW X1,X3,X4    WRITE WORDS
          ELSE
          SX7    10 
          IX4    X4*X7
          PUTP   X1,X3,X4 
          ENDIF 
          JP     EXIT.       RETURN 
 CSCR     SPACE  4,8
**        CSCR - CAPSULE SCRATCH FILE.
  
  
          ENTRY  CSCR        FILE ENVIRONMENT TABLE 
 CSCR     BSS    0
          IFEQ   .RM,0
 ZZZZZCS  FILEB  CBUF,CBUFL,(FET=8) 
          ELSE
 ZZZZZCS  FILE   BT=C,RT=S,FWB=CBUF,BFS=CBUFL,MRL=37777777B 
          ENDIF 
 CBUFL    EQU    201B 
 CBUF     BSS    CBUFL       CIRCULAR BUFFER
  
  
          END 
