*DECK     UTILITY            CPU UTILITY ROUTINES 
          IDENT  UTILITY
 UTILITY  SECT   (COMMON UTILITY ROUTINES.) 
 UTILITY  SPACE  4,8
*         IN FTN
          EXT    MSG=,RCL=,RPV=FVT,SYS=,WNB=
  
*         IN IDP
          EXT    IDP=COD
  
*         IN PUC
          EXT    RPV=CLN,RPV=MSG,RPV=URP
  
*         IN RPV10
          EXT    RPV=RNA
*CALL     COMCCDD            CONVERT DECIMAL DIGITS 
          ENTRY  CDD
 CDD=     EQUENT CDD
*CALL     COMCDXB            DISPLAY CODE TO BINARY 
          ENTRY  DXB
*CALL FA=SET
*CALL     COMCMVE            MOVE BLOCK OF MEMORY 
          ENTRY  MVE= 
 CCOMRPV  SPACE  4,10 
 RPV=LOL  =      RA.ORG      DEFINE *LAST OVERLAY LOADED* WORD
  
 .TEST    IFEQ   TEST,ON     IF TEST MODE 
          QUAL   CCOMRPV
 COD      EQUEXT IDP=COD
          QUAL   *
 .TEST    ENDIF 
*CALL     CCOMRPV            COMPILER REPRIEVE UTILITY
          ENTRY  FRA=,RPV=
*CALL     COMCMNS            MOVE BITS, NO OVERLAP
          ENTRY  MNS= 
*CALL     COMCSBM            SET BLOCK OF MEMORY
          ENTRY  SBM= 
*CALL     COMCSFN            SPACE FILL NAME
          ENTRY  SFN
 SFN=     EQUENT SFN
*CALL     COMCSST            SHELL SORT TABLE 
          ENTRY  SST
*CALL     COMCWOD            WRITE OCTAL DIGITS 
          ENTRY  WOD
*CALL     COMCZTB            CONVERT ZEROES TO BLANKS 
          ENTRY  ZTB
 ZTB=     EQUENT ZTB         CCG INTERFACE
 #RM      IFEQ   CP#RM,0
*CALL     COMCCIO            MACE I/O FUNCTIN PROCESSOR 
          ENTRY  CIO= 
*CALL     COMCRDC            READ CODED LINE, -C- FORMAT
          ENTRY  RDC= 
*CALL     COMCRDW            READ WORDS TO WORKING BUFFER 
          ENTRY  RDW= 
*CALL     COMCWTH            WRITE CODED LINE IN *H* FORMAT 
          ENTRY  WTH= 
*CALL     COMCWTO            WRITE ONE WORD 
          ENTRY  WTO= 
*CALL     COMCWTW            WRITE WORDS FROM WORKING BUFFER
          ENTRY  WTW= 
          ENTRY  DCB=,WTX=
          TITLE  FA= - MACE I/O SIMULATOR FOR RECORD MANGLER. 
 #RM      ELSE
*CALL     FA=CLO             CLOSE FILE (7RM PSEUDO MACE I/O) 
          ENTRY  FA=CLO 
*CALL     FA=EOF             WRITE END-OF-FILE (7RM PSEUDO MACE I/O)
          ENTRY  FA=EOF 
*CALL     FA=EOR             WRITE END-OF-RECORD (7RM PSEUDO MACE I/O)
          ENTRY  FA=EOR 
*CALL     FA=FLSH            FLUSH FILE HOLDING BUFFER
          ENTRY  FA=FLSH
*CALL     FA=OPE             OPEN FILE (7RM PSEUDO MACE I/O)
          ENTRY  FA=OPE 
*CALL     FA=RDC             7RM PSEUDO COMCRDC 
          ENTRY  FA=RDC 
*CALL     FA=RDW             7RM PSEUDO COMCRDW 
          ENTRY  FA=RDW 
*CALL     FA=RWX             REWIND FILE (7RM PSEUDO MACE I/O)
          ENTRY  FA=RWX 
*CALL     FA=WTH             7RM PSEUDO COMCWTH 
  
          ENTRY  FA=WTH 
*CALL     FA=WTW             7RM PSEUDO COMCWTW 
          ENTRY  FA=WTW 
 #RM      ENDIF 
          LIST   D
          END 
