

                    -2
                    
                     
                   589.7545471.00042-01 33 01
                            158
                              1985

                          

                                                       
1.     
2.     
2.1.    
2.2.     CODE
3.     
3.1.    
3.2.    
3.3.     
3.4.    
3.5.    USR
4.  
5.   
5.1.        
5.1.1.   .CHCOPY (FB,XM)
5.1.2.   .CLOSE
5.1.3.   .DELETE
5.1.4.   .ENTER
5.1.5.   .LOOKUP
5.1.6.   .PURGE
5.1.7.   .RENAME
5.1.8.   .REOPEN
5.1.9.   .SAVESTATUS
5.2.           -
5.2.1.   .READ,.READC,.READW
5.2.2.   .WRITE,.WRITC,.WRITW
5.2.3.   .RCVD,.RCVDC,.RCVDW (FB,)
5.2.4.   .SDAT,.SDATC,.SDATW (FB,)
5.2.5.   .TTYIN,.TTINR
5.2.6.   .TTYOUT,.TTOUTR
5.2.7.   .PRINT
5.2.8.   .MTIN
5.2.9.   .MTOUT
5.2.10.  .MTPRNT
5.2.11.  .SPFUN
5.3.     
5.3.1.   .CDFN
5.3.2.   .CHAIN
5.3.3.   .CMKT
5.3.4.   .CNTXSW (FB,XM)
5.3.5.   .CSIGEN
5.3.6.   .CSISPC
5.3.6.1.         
5.3.7.   .ABTIO
5.3.8.   .CSTAT (FB,XM)
5.3.9.   .DATE
5.3.10.  .DEVICE(FB,XM)
5.3.11.  .DSTATUS
5.3.12.  .EXIT
5.3.13.  .FETCH,.RELEAS
5.3.14.  .FORK
5.3.15.  .FPROT
5.3.16.  .GTIM
5.3.17.  .GTJB
5.3.18.  .GTLIN
5.3.19.  .GVAL,.PVAL
5.3.20.  .HERR,.SERR
5.3.21.  .HRESET
5.3.22.  .INTEN
5.3.23.  .LOCK,.UNLOCK
5.3.24.  .MFPS, .MTPS
5.3.25.  .MRKT
5.3.26.  .MTATCH
5.3.27.  .MTDTCH
5.3.28.  .MTSET
5.3.29.  .MTGET
5.3.30.  .MTSTAT
5.3.31.  .MTRCTD
5.3.32.  .MWAIT (FB,XM)
5.3.33.  .PEEK,.POKE
5.3.34.  .PROTECT,.UNPROTECT (FB,XM)
5.3.35.  .QSET
5.3.36.  .RCTRLD
5.3.37.  .SPND,.RSUM (FB,XM)
5.3.38.  .SCCA
5.3.39.  .SDTTM
5.3.40.  .SETTOP
5.3.41.  .SPCPS (FB,)
5.3.42.  .SFDAT
5.3.43.  .SFPA
5.3.44.  .SRESET
5.3.45.  .SYNCH
5.3.46.  .TLOCK
5.3.47.  .TRPSET
5.3.48.  .TWAIT
5.3.49.  .WAIT
6.  
  1.    
  2.   CBLK
  

           1.    

       RT11  .    
       
     RT11:    (SJ),
 -  (FB)     (XM).
    ,    ,  
  RT11.
           
  :
    -      ;
    -         
	 ;
    -  ;
    -   ;
    -  -;
    -    ;
    -     ;
    -    .
 
       RT11       
    .
          
 ,   -,  
        
 .
        ,  
        ( 
       ).
             
 .        
  .
         , 
    SYSMAC.SML,    
       .
          ,  
     ,    
       .
             340  377 
(),      
:

                                
                                                    

 340-357        /  R0                                          
 360-373     RT11         
 374          .  R0  
	                            
 375          .  R0 
	                                    
 376         RT11         
 377      . RT11       
	   .     


        2.    

         -
       -
 .       -
    .
         
""(.),     , 
.
      ,   ,
     .MCALL.
     RT11     -
:

    1) .PRGREQ ARG1,ARG2,...,ARGN
    2) .PRGREQ AREA,ARG1,...,ARGN

       PRGREQ    -
 , AREA -     -
, ARG1,ARG2,...,ARGN -   .
         
    374      340-357.
     ,    374,
     R0  ,   -
 -   (..1).

          15               8 7                 0
           -------------------------------------
      R0 = !  !       !
           !             !( )!
           -------------------------------------

                          .1


       ,   374,
  .DATE.    
:
.MACRO .DATE
      MOV     #10.*^O400,%0
      EMT     ^374
.ENDM
      .DATE  , -
 10.,      R0,  
X (0) -     R0.
     ,   340-357, -
  (  )   /  R0.
      .CSIGEN   -
 ,   344.  
    :

.MACRO .CSIGEN DEVSPC,DEFEXT,CSTRNG,LINBUF
.IFF NB <LINBUF>       MOV     LINBUF,-(6.)
      MOV     DEVSPC,-(6.)
.IFF NB <LINBUF>       INC     (6.)
      MOV     DEFEXT,-(6.)
.IF B CSTRNG
      CLR     -(6.)
.IFF
.IF IDN CSTRNG,#0
       CLR     -(6.)
.IFF
       MOV     CSTRNG,-(6.)
.ENDC
.ENDC
       EMT     ^O344
.ENDM

          
(..2)      
.CSIGEN.

                      ------------  
                      !  LINBUF  !
                      ------------
                      !  DEVSPC  !
                      ------------
                      !  DEFEXT  !
                      ------------
   ->   !  CSTRNG  !
                      ------------  

                          .2


         
    375.
         375  
.3.

              ----------------------------------
R0 ->  AREA:   !  !          !
              !             !         !
              !     (CODE)     !     (CHAN)    !
              ----------------------------------
              !              ARG1              !
              ----------------------------------
              !              ARG2              !
              ----------------------------------
                               .
              ----------------------------------
              !              ARGN              !
              ----------------------------------

                          .3

         
.    AREA,  
    R0.    () -
    ARG1  ARGN,   -
       
.
    ,   

              .PRGREQ AREA,ARG1,ARG2

 R0    ,  
 ARG1,  - ARG2.
      
              .PRGREQ AREA
       -
 .      
.
      
              .PRGREQ ,ARG1

  AREA,      
R0 (        
).
        
      -
, :

      1) MOV  #ARG1,AREA+2
         MOV  #ARG2,AREA+4
         .PRGREQ      #AREA

      2) MOV  #AREA,R0
         .PRGREQ      ,#ARG1,#ARG2

      3) MOV  #AREA,R0
         MOV  #ARG1,2(R0)
         MOV  #ARG2,4(R0)
         MOV  #CODE*400!CHAN,(R0)
         .PRGREQ

          
   .
     ,   ,    -
      -
  .TWAIT.

         .MCALL  .PRINT,.TWAIT
 START:  .TWAIT  #EMTBLK
         .PRINT  #MSG
         BR      START

 EMTBLK: .BYTE   0,24
         .WORD   TIME

 TIME:   .WORD   0,10.*50
         .ASCIZ  / 10  -   /
         .END    START


    2.1.  
          
   MOV    
   .
      ,   
        
  .   
    ,  
     (#), -
:

    .PRGREQ #AREA,#4
        ,  
    (RN).  
   ,    -
   , :

      .PRGREQ LIST,NUMBER
              .
              .
                 .
 LIST:   .WORD   AREA
 NUMBER: .WORD   4

    .   ,  -
  ,  R0,  . 
  .   
   ( .CSIGEN,.CSISPC).

    2.2.   CODE
      CODE    
       ,
     ,   
.     
     .  CODE 
  : CODE=SET (  ) 
CODE=NOSET (   ).

       .
         .WRITW  #AREA,#CHAN,#BUFF,#WCNT,#BLK
            .
            .
            .
         .READW  #AREA,CODE=SET
            .
            .
            .

              3.    
         -
   RT11.  .2   
.      
 ,      -
.

    3.1.  
      (CHAN)   
      
 .     
 0  254 () (0-376 ()).  
 255 ()    -
.
          
  (  , 
    ).   
     .

    3.2.  
      (DBLK)    -
   RADIX-50,    
  ,    .   -
4 .
:

                   .RAD50/DX1/
                   .RAD50/FIL/
                   .RAD50/NAM/
                   .RAD50/TYP/

     ,       -
     (..  -
     .RAD50).
          :


                   .RAD50/DX1FILNAMTYP/

       
.

                                                  2
-----------------------------------------------------------
!    !                                    !
! !                                            !
!---------------------------------------------------------!
! ADDR       !  ;     - !
!            !                              !
! AREA       !                     !
! BLK        !      ,   !
!            !           !
!            !  -                              !
! BUF        !                           !
! CBLK       !      ,   -  !
!            !             !
! CHAN       !                                 !
! CRTN       !            !
! DBLK       !                        !
! NUM        !  ,           !
!            !                        !
! WCNT       !   ;  ,     !
!            !           !
!            !    -          !
! SEQN       !     ( !
!            !    )                       !
! CHRCNT     !                             !
! FUNC       !   ,      !
!            !                                     !
! JOBBLK     !  ,       !
!            !    -7                      !
! JOBDEV     !   ,     !
!            !                        !
! UNIT       !                    !
-----------------------------------------------------------

    3.3.   


        
.4.   1-    , -
  .     , 
   0.   1-  
    ( -
     ).
     (  ),
  .

AREA:   -----------------------------------------
       !     !              !
       !                !             !
       !---------------------------------------!
       !           1-                 !
       !---------------------------------------!
       !           2-                !
       !---------------------------------------!
                           .
                           .
                           .
       -----------------------------------------
       !           N-                !
       -----------------------------------------

                .4   


    3.4.  
        
   .   -
    -,   -
    ,  -
    ..
          R0 
  ,  R1 -   
 .
      SJ    -
     .   FB  ,
     ,  -
  .

    3.5.  USR
         -
,    USR   -
 .  USR    
.3. ,   CLOSE   
 (LP:,TT:,PC:,  ..)    USR 
.
     USR   ;  USR
   (  FB),  ,
 USR,    .
                                                   3
------------------------------------------------------------
!    !            USR           !
!                     !-------------------------------------
!                     !   SJ  !   FB !   XM !
------------------------------------------------------------
!                     !       *    !           !           !
! .CDFN               !          !        !        !
!       1)            !            !           !           !
! .CLOSE              !          !         !         !
! .CSIGEN             !          !         !         !
! .CSISPC             !          !         !         !
! .DELETE             !          !         !         !
! .DSTATUS            !          !         !         !
! .ENTER              !          !         !         !
! .EXIT               !          !         !         !
! .FETCH/.RELEAS      !          !         !         !
! .GTLIN              !          !         !         !
! .HRESET             !          !        !        !
!      2)             !            !           !           !
! .LOCK               !          !         !         !
! .LOOKUP             !          !         !         !
!                     !       *    !      *    !           !
! .QSET               !          !         !         !
! .RENAME             !          !         !         !
! .REOPEN             !         !        !        !
!                     !       *    !           !           !
! .SRESET             !          !        !        !
!       3)            !            !           !           !
! .TLOCK              !          !         !         !
------------------------------------------------------------

             1)                    .ENTER ;
 
             2)                USR    ;
 
             3)                USR     .
 
        ,   .3 ,  -
        USR    (,
     USR      ).
 
                          4. 
          ,    -
    .      -
   ,   -,      (52-    
     )         
   . -         
      .     
       BCS  BCC.   -
    -,     .
               (    
           )
     .    
       .SERR.  -
          -
   ,   .
 
                     5.  
            :
          -     ;
          -    - ;
          -   ;
          -   ;
          -   .
          4    ,  
         (SJ,FB,XM).  -
   ,   .4  "",   
         .
             - 
      [1].
              [2].
 
 
                                                       4
    ------------------------------------------------------------
    !  !  ! - !                              !
    !       !  ! . !                    !
    !             !     !    !                              !
    ------------------------------------------------------------
    ! .ABTIO      ! 374 !  13   !   -- !
    !             !     !       !         !
    ! .CDFN       ! 375 !  15   !      !
    !             !     !       !    -   !
    !             !     !       !                        !
    ! .CHAIN      ! 374 !   10  !      !
    !             !     !       !              !
    ! .CLOSE      ! 374 !   6   !    !
    !             !     !       !          !
    !             !     !       !               !
    ! .CMKT       ! 375 !   23  !    !
    !             !     !       !  .MRKT               !
    ! .CSIGEN     ! 344 !   -   !   -!
    !             !     !       !       !
    !             !     !       !                        !
    ! .CSISPC     ! 345 !   -   !   -!
    !             !     !       !     -   !
    !             !     !       !                !
    ! .CSTAT      ! 375 !   27  !   !
    !             !     !       !       !
    !             !     !       !                        !
    ! .CTIMIO     !  -  !   -   !    -  !
    !             !     !       !    -!
    !             !     !       !  ,  - !
    !             !     !       !                  !
    ! .DATE       ! 374 !   12  !        !
    !             !     !       !  R0                   !
    ! .DELETE     ! 375 !   0   !     -  !
    !             !     !       !                !
    ! .DRAST:     !     !       !   -!
    !             !     !       !         !
    ! .DRBEG      !     !       !       !
    !             !     !       !                      !
    ! .DRBOT      !     !       !    !
    !             !     !       !           !
    ! .DRDEF      !     !       !   !
    !             !     !       !                   !
    ! .DREND      !     !       !       !
    !             !     !       !  ; -!
    !             !     !       !     !
    !             !     !       !                      !
    ! .DRFIN      !     !       !    !
    !             !     !       !      !
    !             !     !       !               !
    ! .DRSET      !     !       !   !
    !             !     !       !      !
    ! .DRVTB      !     !       !       !
    !             !     !       !     !
    !             !     !       !       !
    ! .DSTATUS    ! 342 !    -  !   !
    !             !     !       !       !
    !             !     !       !                    !
    ! .ENTER      ! 375 !   2   !      !
    !             !     !       !       !
    !             !     !       !           !
    ! .EXIT       ! 350 !   -   !   -!
    !             !     !       !       !
    !             !     !       !       !
    !             !     !       !                      !
    ! .FETCH      ! 343 !   -   !    !
    ! .FPROT      ! 375 !  43   !  ()     !
    !             !     !       !                   !
    ! .GTIM       ! 375 !   21  !     !
    ! .GTJB       ! 375 !   20  !   -!
    !             !     !       !                  !
    ! .GTLIN      ! 345 !   -   !       !
    !             !     !       !      !
    !             !     !       !                         !
    ! .GVAL       ! 376 !   34  !   R0    !
    !             !     !       !       !
    ! .HERR       ! 374 !    5  !       !
    !             !     !       ! .SERR                        !
    ! .HRESET     ! 357 !   -   !         !
    !             !     !       ! -       !
    !             !     !       !   .SRESET      !
    ! .INTEN      !  -  !   -   !    ,  !
    !             !     !       !         !
    !             !     !       !      !
    !             !     !       !    -  !
    !             !     !       !          !
    ! .LOCK       ! 346 !   -   !   USR -   !
    !             !     !       !      , !
    !             !     !       !     .EXIT !
    !             !     !       !  .UNLOCK .  - !
    !             !     !       ! ,        !
    !             !     !       !                  !
    ! .LOOKUP     ! 375 !   1   !     !
    !             !     !       !   /      !
    !             !     !       !               !
    ! .MFPS       !  -  !   -   !         !
    ! .MRKT       ! 375 !   22  !   !
    !             !     !       !   -  !
    !             !     !       !            !
    ! .MTATCH(MT) ! 374 !   37  !       !
    !             !     !       !    - !
    !             !     !       !                       !
    ! .MTDTCH(MT) ! 374 !   37  !      !
    !             !     !       !     - !
    !             !     !       !    !
    !             !     !       !                !
    ! .MTGET(MT)  ! 374 !   37  !   - !
    !             !     !       !                 !
    ! .MTIN(MT)   ! 374 !   37  !   - !
    !             !     !       !    .TTYIN !
    ! .MTOUT(MT)  ! 374 !  37   !   - !
    !             !     !       !    .TTYOUT!
    ! .MTPRNT(MT) ! 374 !  32   !   - !
    !             !     !       !    .PRINT !
    ! .MTPS       !  -  !       !              !
    ! .MTRCTD(MT) ! 374 !   37  !    -!
    !             !     !       !                   !
    ! .MTSET(MT)  ! 374 !   37  !    !
    !             !     !       !      !
    !             !     !       !      !
    ! .MTSTAT(MT) ! 375 !   37  !   -!
    !             !     !       !    - !
    !             !     !       !                !
    ! .PEEK       ! 375 !   34  !     !
    !             !     !       !                        !
    ! .POKE       ! 375 !   34  !       !
    !             !     !       !                        !
    ! .PRINT      ! 351 !   -   !     - !
    !             !     !       !  -7                  !
    ! .PURGE      ! 374 !   3   !              !
    ! .PVAL       ! 375 !   34  !       !
    !             !     !       !                      !
    ! .QELDF      !  -  !   -   !       !
    !             !     !       !       !
    !             !     !       !  -         !
    ! .QSET       ! 353 !   -   !      !
    !             !     !       ! -      !
    ! .RCTRLD     ! 355 !   -   !    - !
    !             !     !       !                           !
    ! .READ       ! 375 !   10  !     !
    !             !     !       !      - !
    !             !     !       !    !
    !             !     !       ! ,   - !
    !             !     !       !       !
    !             !     !       !    -   !
    !             !     !       !                        !
    ! .READC      ! 375 !   10  !     !
    !             !     !       !      - !
    !             !     !       !    !
    !             !     !       ! ,   - !
    !             !     !       !       !
    !             !     !       !    -   !
    !             !     !       ! .   - !
    !             !     !       !       !
    !             !     !       !        !
    ! .READW      ! 375 !   10  !     !
    !             !     !       !      - !
    !             !     !       !    !
    !             !     !       !    !
    !             !     !       !                      !
    ! .RELEAS     ! 343 !   -   !      !
    !             !     !       !                      !
    ! .RENAME     ! 375 !   4   !  . -  !
    !             !     !       !     - !
    !             !     !       !                     !
    ! .REOPEN     ! 375 !   6   !    !
    !             !     !       ! ,  -!
    !             !     !       !    .SAVESTATUS  !
    !             !     !       !       !
    !             !     !       !  -             !
    ! .SAVESTATUS ! 375 !   5   !   - !
    !             !     !       !     -!
    !             !     !       !     -!
    !             !     !       !                  !
    ! .SCCA       ! 374 !   35  !   - !
    !             !     !       !   /           !
    ! .SDTTM      ! 375 !   40  !    !
    !             !     !       ! /                   !
    ! .SERR       ! 374 !   4   !   -!
    !             !     !       !     !
    !             !     !       !                        !
    ! .SETTOP     ! 354 !   -   !      !
    !             !     !       !    -  !
    !             !     !       !                         !
    ! .SFDAT      ! 375 !   42  !     !
    ! .SFPA       ! 375 !   30  !       !
    !             !     !       !   -  !
    !             !     !       !      !
    !             !     !       !         !
    !             !     !       !                       !
    ! .SPFUN      ! 375 !   32  !   !
    !             !     !       !                  !
    ! .SRESET     ! 352 !   -   !   -!
    !             !     !       !        !
    !             !     !       !             !
    ! .SYNCH      !  -  !   -   !   - !
    !             !     !       !   !
    !             !     !       !        !
    !             !     !       !                    !
    ! .TIMIO      !  -  !   -   !   !
    !             !     !       !       !
    !             !     !       !               !
    ! .TLOCK      ! 374 !    7  ! ,    !
    !             !     !       ! USR       !
    !             !     !       ! .  USR  -!
    !             !     !       ! ,   .LOCK !
    ! .TRPSET     ! 375 !    3  !   - !
    !             !     !       !   4-  10-  !
    !             !     !       !    - !
    !             !     !       !                        !
    ! .TTINR      ! 340 !   -   !     -  !
    ! .TTYIN      !     !       !     R0  !
    ! .TTYOUT     ! 341 !   -   !     -  !
    ! .TTOUTR     !     !       !  R0     !
    ! .TWAIT      ! 375 !   24  !    !
    !             !     !       !    !
    !             !     !       !                       !
    ! .UNLOCK     ! 347 !   -   !   USR,   !
    !             !     !       !     - !
    !             !     !       !  .LOCK ,  ,!
    !             !     !       !       !
    !             !     !       !                  !
    ! .WAIT       ! 374 !   0   !     !
    !             !     !       ! -      !
    !             !     !       !                        !
    ! .WRITC      ! 375 !   11  !    - !
    !             !     !       !         !
    !             !     !       !   -  !
    !             !     !       !    !
    !             !     !       !     -!
    !             !     !       !          !
    !             !     !       ! -.  !
    !             !     !       ! ,  !
    !             !     !       !        !
    ! .WRITE      ! 375 !   11  !    - !
    !             !     !       !         !
    !             !     !       !   -  !
    !             !     !       !    !
    !             !     !       !     -!
    !             !     !       !          !
    !             !     !       ! -                 !
    ! .WRITW      ! 375 !   11  !    - !
    !             !     !       !         !
    !             !     !       !   -  !
    !             !     !       !        !
    !             !     !       !       !
    ------------------------------------------------------------
 
 
                                                       5
    ------------------------------------------------------------
    !  !  ! - !                              !
    !       !  ! . !                    !
    !             !     !    !                              !
    ------------------------------------------------------------
    ! .CHCOPY     ! 375 !  13   !       !
    !             !     !       !        !
    !             !     !       !        !
    !             !     !       !                       !
    ! .CNTXSW     ! 375 !   33  !     !
    !             !     !       !    -  !
    !             !     !       !                        !
    ! .CRAW(XM)   ! 374 !   36  !    !
    !             !     !       !                          !
    ! .CRRG(XM)   ! 374 !   36  !    !
    !             !     !       !              !
    ! .DEVICE     ! 375 !   14  !   - !
    !             !     !       !        !
    !             !     !       ! FB   !
    !             !     !       !                     !
    ! .ELAW(XM)   ! 374 !   36  !   -!
    !             !     !       !                       !
    ! .ELRG(XM)   ! 374 !   36  !   -  !
    !             !     !       !        !
    !             !     !       !     -  !
    !             !     !       !     !
    ! .GMCX(XM)   ! 374 !   36  !   -  !
    !             !     !       !    - !
    !             !     !       !                      !
    ! .MAP(XM)    ! 374 !   36  !      !
    !             !     !       !     !
    !             !     !       !                        !
    ! .MWAIT      ! 374 !   11  !      !
    !             !     !       !    - !
    !             !     !       !           !
    ! .PROTECT    ! 375 !   31  !      !
    !             !     !       ! (  0  476)  - !
    !             !     !       !                   !
    ! .RCVD       ! 375 !   26  !    !
    ! .RCVDC      !     !       !  ,  -!
    ! .RCVDW      !     !       !     FB.    !
    !             !     !       !   .READ,   !
    !             !     !       ! .READC,.READW                !
    ! .RDBBK(XM)  !  -  !   -   !        !
    !             !     !       !                       !
    ! .RDBDF(XM)  ! -   !   -   !       !
    !             !     !       !    -!
    !             !     !       !                    !
    ! .RSUM       ! 374 !   2   !   -!
    !             !     !       ! ,      !
    !             !     !       !   .SPND             !
    ! .SDAT       ! 375 !   25  !   -!
    ! .SDATC      !     !       !            !
    ! .SDATW      !     !       ! .  - !
    !             !     !       !  .WRITE,.WRITC,.WRITW     !
    ! .SPCPS      ! 375 !   41  !        !
    !             !     !       !     -!
    !             !     !       !           !
    ! .SPND       ! 374 !   1   !    !
    !             !     !       !                       !
    ! .UNMAP(XM)  ! 374 !   36  !       !
    !             !     !       ! .MAP                         !
    ! .UNPROTECT  ! 374 !   31  !       !
    !             !     !       ! .PROTECT                     !
    ! .WDBBK(XM)  !  -  !   -   !    !
    ! .WDBDF(XM)  !  -  !   -   !       !
    !             !     !       !    -!
    !             !     !       !                     !
    ------------------------------------------------------------
 
 
        5.1.      
        5.1.1. .CHCOPY ( FB,XM)
         .CHCOPY           
           
      .    ,
    ,       .  
   .CHCOPY    ,      
   ;      ,    -
     .  ,      ,
     .CHCOPY     .CLOSE
    .PURGE.
         :
        .CHCOPY AREA,CHAN,OCHAN[,JOBBLK]
    AREA -    3-   ;
        CHAN -  ,    
   ;
        OCHAN -    ;
        JOBBLK -     ,    -
     .
           :
          AREA:   .BYTE   CHAN,13
                  .WORD   OCHAN
                  .WORD   JOBBLK
  .
  ;    .   
  ;()      -
  ; .
          .TITLE  CHCOPF.MAC
  ; 
          .MCALL  .ENTER,.PRINT,.SDATW,.RCVDW,.CLOSE,.WRITW
	  .MCALL  .EXIT 
  STARTF: MOV     #AREA,R5
          .ENTER  R5,#0,#FILE,#5          ; 
          .WRITW  R5,#0,#RECRD,#256.,#4   ; 
          BCS     ENTERR
          .SDATW  R5,#BUFR,#2             ; 
          ;       .
          .RCVDW  R5,#BUFR,#1
          .CLOSE  #0
          .PRINT  #FEXIT
          .EXIT
  ENTERR: .PRINT  #ERMSG
          .EXIT
  FILE:   .RAD50  /DK QUFILE/
          .RAD50  /TMP/
  AREA:   .BLKW   5
  BUFR:   .WORD   0                       ; 
          .WORD   4                       ; 
  RECRD:  .BLKW   256.
  ERMSG:  .ASCIZ  / .ENTER/
  FEXIT:  .ASCIZ  /  /
          .END    STARTF
 
          .TITLE  CHCOPB.MAC
  ; 
          .MCALL  .CHCOPY,.RCVDW,.READW,.EXIT,.PRINT,.SDATW
  STARTB: MOV     #AREA,R5
          .RCVDW  R5,#MSG,#2      ; 
          BCS     1$
          .CHCOPY R5,#0,MSG+2     ;   MSG+2
          BCS     2$
          .READW  R5,#0,#BUFF,#256.,MSG+4 ; 
          BCS     3$
          ;       .
          .SDATW  R5,#MSG,#1
          .PRINT  #BEXIT
          .EXIT
  1$:     MOV     #NOJOB,R0
          BR      4$
  2$:     MOV     #NOCH,R0
          BR      4$
  3$:     MOV     #RDERR,R0
  4$:     .PRINT
          .EXIT
  AREA:   .BLKW   5
  MSG:    .BLKW   3               ;  
  BUFF:   .BLKW   256.
  BEXIT:  .ASCIZ  /  /
  NOJOB:  .ASCIZ  /  /
  NOCH:   .ASCIZ  /     /
  RDERR:  .ASCIZ  / /
          .END    STARTB
 
        5.1.2. .CLOSE
         .CLOSE      
           .  
        -
      .
         
        .CLOSE CHAN
           :
          AREA:   .BYTE   CHAN,6
         ,        -
        ,      ,
     .CLOSE.  .CLOSE   
   .
        .CLOSE,   ,      
   .ENTER        
         .  
      .LOOKUP,        
   .
         ,      ,  
          ,     -
    ,     ,   
    .
                  
     ,    ,    
       .
        .    
        .CLOSE      -
   ,       .SERR.
          .CLOSE  .      
   .CSISPC.
 
        5.1.3. .DELETE
         .DELETE      
   . .DELETE    .
         :
        .DELETE AREA,CHAN,DBLK
    AREA -    2-   ;
        DBLK -   ,   -
     .
        :
        1.       ;
        2.         
         (UNUSED)    
   ;
        3.  .DELETE     
   ;
        4.   .DELETE  ,    
       ;
        5.   .DELETE,    -
      .
          .DELETE .      
   .CSISPC.
 
        5.1.4. .ENTER
         .ENTER     -
           
    .   .ENTER   
    ,   ,     .
   ,      ,  
   15-          
     .
         :
        .ENTER AREA,CHAN,DBLK,LEN[,SEQN]
    AREA -    4-   ;
        DBLK -   ,    -
    ;
        LEN -  ; (..6);
        SEQN -      -
   ;   SEQN      
      .7.
           :
          AREA:   .BYTE   CHAN,2
                  .WORD   DBLK
                  .WORD   LEN
                  .WORD   SEQN
 
                                                       6
    ------------------------------------------------------------
    !     !                            !
    !    !                                            !
    !-----------------------------------------------------------
    !     0       !           !
    !             !        !
    !             !     ,  -  !
    !             !   ,         !
    !            !                      !
    !     -1      !      - !
    !             !                                 !
    ------------------------------------------------------------
 
 
                                                       7
    ------------------------------------------------------------
    !     !                            !
    !    !                                            !
    ------------------------------------------------------------
    !     0       !       !
    !             !   LEOT (  )  !
    !     N       !     , !
    !             !       !
    !             !  N                                  !
    !     -1      !   LEOT                      !
    !     -2      !       !
    !             !  LEOT      ,   !
    !             !                       !
    ------------------------------------------------------------
 
        ,   .ENTER       
    ,         
    .CLOSE.  .LOOKUP    .SAVESTATUUS  -
     ,    .  
          
     .        
    .CLOSE,       -
   ,           
      .       
      .ENTER,   -
       .CLOSE.
             255   -
    .  ,  255     -
       .ENTER.     .ENTER
   ,      
   .   .ENTER  R0   
     ,     .
  .
 
          .TITLE  ENTER.MAC
  ;      .ENTER
  ;   ENTER.SAV  
  ;DK:.
 
          .MCALL  .LOOKUP,.ENTER,.WRITW,.READW,.CLOSE
          .MCALL  .PRINT,.EXIT
          ERRBYT = 52
  START:  .LOOKUP #AREA,#0,#ENTER         ; 0- 
                                          ;  ENTER.SAV
          BCS     5$
          MOV     R0,R3                   ;   R3
          .ENTER  #AREA,#1,#NEWFIL,R3     ;  
          BCS     6$
          CLR     BLK
  1$:     .READW  #AREA,#0,#BUFFR,#256.,BLK ; 
          BCC     2$
          TSTB    @#ERRBYT                ; ?
          BEQ     3$                      ;
          MOV     #RERR,R0
          BR      7$
  2$:     .WRITW  #AREA,#1,#BUFFR,#256.,BLK ; 
          INC     BLK
          BCC     1$
          MOV     #WERR,R0
          BR      7$
  3$:     .CLOSE  #1
          MOV     #DONE,R0
          BR      7$
  5$:     MOV     #NOFIL,R0
          BR      7$
  6$:     MOV     #NOENT,R0
  7$:     .PRINT
          .EXIT
 
  AREA:   .WORD   0
  BLK:    .WORD   0,0,0,0
  BUFFR:  .BLKW   256.
  ENTER:  .RAD50  /DK/
          .RAD50  /ENT/
          .RAD50  /ER/
          .RAD50  /SAV/
  NEWFIL: .RAD50  /DK/
          .RAD50  /NEWENT/
          .RAD50  /SAV/
 
  NOFIL:  .ASCIZ  /  /
  NOENT:  .ASCIZ  / .ENTER  /
  WERR:   .ASCIZ  / .WRITW /
  RERR:   .ASCIZ  /  .READW /
  DONE:   .ASCIZ  / /
          .EVEN
          .END    START
  
        5.1.5. .LOOKUP
             .LOOKUP.    
    .LOOKUP            /
           -.
       ""   ,    
                    :    .CLOSE,
    .SAVESTATUS,.SRESET,.HRESET,.PURGE,.CSIGEN   (    
        0  10 ().
         ,       -
    ,  15-        
       .
                      
    (DBLK)        
    ,    0      -
      " " (     -
     .LOOKUP).     -    
       .     
       ,      -
    .
           .LOOKUP     -
        .     .LOOKUP  ,
     R0        .
      .LOOKUP     -
    ,  RO   .
          :
         .LOOKUP AREA,CHAN,DBLK[,SEQN]
     AREA -    3-   ;
         SEQN -      -
    ; ,    SEQN   
         8.
            :
           AREA:   .BYTE   CHAN,1
                   .WORD   DBLK
                   .WORD   SEQN
    1.
  
          .TITLE  LOOKUP.MAC
   ;  ,   .LOOKUP,
  ;    DK: 
  ;,      
  ; .
  ;   ,   
  ;( )    .
           .MCALL  .LOOKUP,.PRINT,.EXIT
   START:  .LOOKUP #AREA,#0,#QUSPEC ; 
          BCC     1$
          .PRINT  #NOFILE         ; 
          .EXIT
   1$:     MOV     #SIZE,R1
          CALL    CNV10
          .PRINT  #BUFF
          .EXIT
 
  CNV10:  MOV     R0,-(SP)        ;
          CLR     R0              ; 
  1$:     INC     R0              ;   
          SUB     #10.,@SP        ;
          BGE     1$
          ADD     #72,@SP
          DEC     R0
          BEQ     2$
          CALL    CNV10
   2$:     MOVB    (SP)+,(R1)+
          RETURN
 
  AREA:   .BLKW   3
  QUSPEC: .RAD50  /DK QUFILE/
          .RAD50  /TMP/
  BUFF:   .ASCII  /  QUFILE.TMP = /
  SIZE:   .ASCIZ  /      /
  NOFILE: .ASCIZ  / DK:   QUFILE.TMP/
          .EVEN
 
          .END    START
 
 
                                                       8
    ------------------------------------------------------------
    !     !                            !
    !    !                                            !
    !----------------------------------------------------------!
    !     -1      !      !
    !             !                              !
    !      0      !       !
    !             !                                  !
    !   N(N>0)    !       !
    !             !       !
    !             !  N                                  !
    ------------------------------------------------------------
 
         .LOOKUP     -
         FB  .
         :
        .LOOKUP AREA,CHAN,JOBDES
    AREA -    2-   ;
        JOBDES -    4- ; 1-   
       (MQ)   RADIX-50; 2,3,4
             
   -7.  2-   0 ,    (CHAN)  
        .READ/C/W    
      .
           :
          AREA:   .BYTE   CHAN,1
                  .WORD   JOBDES
   2.
          .TITLE  SJLOOK.MAC
  ;    .LOOKUP  
  ;   QUEUE.REL.
  ;     FB
  ; .
  ;
 
          .MCALL  .LOOKUP,.PRINT,.EXIT,.WRITW,.READW
  START:  .LOOKUP #AREA,#0,#QMSG  ;   QUEUE
          BCC     1$
          .PRINT  #NOJOB
          .EXIT
  1$:     .WRITW  #AREA,#0,#RMSJ,#6
          BCS     2$
          .READW  #AREA,#0,#RMSJ,#6
          BCS     2$
          .PRINT  #QRUN
          .EXIT
  2$:     .PRINT  #MSGERR
          .EXIT
  AREA:   .BLKW   5
  QMSG:   .RAD50  /MQ/
          .ASCIZ  /QUEUE/
          .WORD   0,0
  RMSJ:   .WORD   0
          .ASCII  /SJLOOK/
  MSGERR: .ASCIZ  //
  NOJOB:  .ASCIZ  /QUEUE  /
  QRUN:   .ASCIZ  /QUEUE !/
          .EVEN
          .END    START
 
 
        5.1.6. .PURGE
         .PURGE      -
         - 
    .HRESET,.SRESET,.SAVESTATUS  .CLOSE.  
         .ENTER, .  -
    .PURGE    .
         :
        .PURGE CHAN
           :
          AREA:   .BYTE   CHAN,3
          .PURGE  .      
   .HERR.
 
        5.1.7. .RENAME
         .RENAME    (  -
      ).
         :
        .RENAME AREA,CHAN,DBLK
    AREA -    2-  ;
        DBLK -  ,       
   ,   ,     
       RADIX-50.
           :
 
          AREA:   .BYTE   CHAN,4
                  .WORD   DBLK
   ,
          .RENAME  #AREA,#7,#DXLK
          BCS  RNMERR
           .
           .
           .
   DBLK:  .RAD50 /DX1OLDFILMAC/
          .RAD50 /DX1NEWFILMAC/
 
             ,   ,  
    ,   .     -
    DX1        -
         .  
    .RENAME   . 
   .RENAME ,     
        .  .RENAME  
      .
  .
          .TITLE  RENAME.MAC
  ;    .RENAME 
  ;   .
          .MCALL  .CSISPC,.RENAME,.FETCH,.PRINT,.SRESET,.EXIT
          ERRBYT = 52
  START:  .CSISPC #FILESP,#DEFEXT ;  
          .FETCH  #DRVLOD,#FILESP ; 
          BCS     2$
          MOV     #FILESP,R2
          MOV     #FILESP+46,R3
          MOV     @R2,#FILESP+36
          .REPT   4
          MOV     (R2)+,(R3)+
          .ENDR
          .RENAME #AREA,#0,#FILESP+36 ; 
          BCC     1$
          DECB    @#ERRBYT        ; 
          BEQ     3$
          MOV     #ILLOP,R0
          BR      4$
  1$:     .SRESET
          .EXIT
 
  2$:     MOV     #FERR,R0
          BR      4$
  3$:     MOV     #NOFIL,R0
  4$:     .PRINT
          BR      1$
 
  AREA:   .BLKW   5
  DEFEXT: .WORD   0,0,0,0
  NOFIL:  .ASCIZ  /  /
  ILLOP:  .ASCIZ  / /
  FERR:   .ASCIZ  / .FETCH/
          .EVEN
  FILESP: .BLKW   39.*2
  DRVLOD  =.
          .END    START
 
 
        5.1.8. .REOPEN
         .REOPEN        
   ,      .SAVESTATUS.  -
      .SAVESTATUS   .REOPEN  -
            -
   .    .LOOKUP     
     .SAVESTATUS.     -
   , .REOPEN      
   .     .REOPEN   
    ,     .LOOKUP  .SAVESTATUS.
         :
        .REOPEN AREA,CHAN,CBLK
    AREA -    2-   ;
        CBLK -      5-  ,    
      .
           :
          AREA:   .BYTE   CHAN,6
                  .WORD   CBLK
         .    .SAVESTATUS.
 
        5.1.9. .SAVESTATUS
         .SAVESTATUS       
          .
         ,    
         .  
    .SAVESTATUS   .  
        ,  
    .REOPEN.  .SAVESTATUS     
    ,          .LOOKUP.    
    .ENTER,  .SAVESTATUS     -
    .  .SAVESTATUS     
   ,     .
         .SAVESTATUS  .REOPEN    
          .
         :
        .SAVESTATUS AREA,CHAN,CBLK
    AREA -    2-   ;
        CBLK -    5- ,    -
       ;     -
       . (.  2).
           :
          AREA:   .BYTE   CHAN,5
                  .WORD   CBLK
 
  .
          .TITLE  SAVEST.MAC
          .MCALL  .CSIGEN,.SAVESTATUS,.READW,.WRITW,.PRINT
          .MCALL  .PURGE,.REOPEN,.CLOSE,.EXIT
          ERRBYT = 52
  START:  .CSIGEN #DSPACE,#DEFEXT ;  
          MOV     #3,R4           ; 
          MOV     #AREA,R3        ;  
                                  ; 
          MOV     #SAVBLK,R5
  1$:     .SAVEST R3,R4,R5        ; 
                                  ; 
          BCS     2$
          ADD     #12,R5          ;  
                                  ; 
          INC     R4
          CMP     #8.,R4          ;  ?
          BGE     1$              ;
  2$:     MOV     #SAVBLK,R5
          BEQ     7$
  4$:     .REOPEN R3,#3,R5        ; 
                                  ; 3
          CLR     BLK
  5$:     .READW  R3,#3,#BUFF,#256.,BLK ; 
          BCC     6$
          TSTB    @#ERRBYT        ; ?
 
          BNE     8$
          .PURGE  #3              ; 
          ADD     #12,R5
          TST     @R5             ; ?
          BNE     4$
          .CLOSE  #0              ; .
          .PRINT  #DONE
          .EXIT
 
  6$:     .WRITW  R3,#0,#BUFF,#256.,WBLK ; 
          INC     WBLK
          INC     BLK
          BCC     5$
          MOV     #WERR,R0
          BR      9$
  7$:     MOV     #NOIMP,R0
          BR      9$
  8$:     MOV     #RERR,R0
  9$:     .PRINT
          .EXIT
 
  AREA:   .BLKW   5
  BLK:    .WORD   0
  WBLK:   .WORD   0
  SAVBLK: .BLKW   30.
  DEFEXT: .WORD   0,0,0,0
  NOIMP:  .ASCIZ  /   /
  WERR:   .ASCIZ  / /
  RERR:   .ASCIZ  / /
  DONE:   .ASCIZ  / /
          .EVEN
  BUFF:   .BLKW   256.
  DSPACE  =.
 
          .END    START
 
        5.2.        
             - 
 
        5.2.1. .READ,.READC,.READW
         RT11     
    -:
                    .READ /.WRITE
                    .READC/.WRITC
                    .READW/.WRITW
           .READ  .READC   
              -
   .
          READ/C/W    -
     ,    (BUF)   
          (WCNT)  ..  
     (BUF)    -
     .
         .READ      
          . -
           
      .READ.    
       .
 
         :
        .READ AREA,CHAN,BUF,WCNT,BLK
    AREA -    5-   ;
        BUF -     ;
        WCNT -    ;
        BLK -          ;    
     .LOOKUP, TO BLK -    -
       ;         
   .LOOKUP, TO BLK -    ;  -
       BLK   -
    .
           :
          AREA:   .BYTE   CHAN,10
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   1
  .
          .TITLE  READ.MAC
  ;   .READ,.WRITE.
          .MCALL  .READ,.WRITE,.CLOSE,.PRINT,.CSIGEN
          .MCALL  .WAIT,.SRESET,.EXIT
          ERRBYT = 52
          .ENABL  LSB
  START:  .CSIGEN #DSPACE,#DEFEXT ;  
          MOV     #AREA,R5
          CLR     IOBLK
  1$:     .READ   R5,#3   ;  0- 
          BCS     6$      ; 
          ;       .
          BIT     #1,IOBLK
          BNE     2$
          .PRINT  #MES
          ;       .
  2$:     .WAIT   #3      ;  
          BCS     5$
          .WRITE  R5,#0   ; 
          BCS     3$
          INC     IOBLK
          ;       .
          .WAIT   #0      ;  
          BCC     1$
  3$:     MOV     #WERR,R0
  4$:     .PRINT
          BR      7$
  5$:     MOV     #RERR,R0
          BR      4$
  6$:     TSTB    @#ERRBYT
          BNE     5$
          .PRINT  #MES1
          .CLOSE  #0
  7$:     .SRESET         ;  
          .EXIT
  AREA:   .WORD   0
  IOBLK:  .WORD   0
          .WORD   BUFF
          .WORD   256.
          .WORD   0
  BUFF:   .BLKW   256.
  DEFEXT: .WORD   0,0,0,0
  MES1:   .ASCIZ  / - /
  MES:    .ASCIZ  <15><12>/  /
  WERR:   .ASCIZ  / .WRITE/
  RERR:   .ASCIZ  / .READ/
          .EVEN
  DSPACE  =.
 
          .END    START
 
              BLK=0,    -
     "^" ( 136).
                
   ,     .WAIT.    -
    ,     .   -
       ,  .WAIT  
    .
         .READC     
      .    -
            .READC.
            
        - 
           (52-).    
   .READC       ,
       .     -
      RTS PC,   -
     .
         :
        .READC AREA,CHAN,BUF,WCNT,CRTN,BLK
    AREA -    5-   ;
        BUF -     ;
        WCNT -    ;
        CRTN -       (  
     500 ());
        BLK - .  .READ
           :
          AREA:   .BYTE   CHAN,10
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   CRTN
               -
   :
        1)  R0    ;   
   R0   0,       
     ;
        2)  R1     ;  
    ,           
       .
  .
          .TITLE  READC.MAC
  ;   .READC,.WRITC.
          .MCALL  .READC,.WRITC,.CSIGEN,.PRINT
          .MCALL  .CLOSE,.WAIT,.SRESET,.EXIT
          ERRBYT  = 52
          .ENABL  LSB
  START:  .CSIGEN #DSPACE,#DEFEXT ;  
          CALL    IOXFER          
          .PRINT  #MES
          MOV     #-1,R5
  1$:     DEC     R5
          BNE     1$
          TSTB    EOF
          BEQ     1$              ;0 -  
          BLT     RERR            ;<0-  
          .CLOSE  #0              ;>0-  
          MOV     #DONE,R0
          BR      EXIT
  WERR:   MOV     #WRERR,R0
          BR      EXIT
  RERR:   MOV     #RDERR,R0
  EXIT:   .PRINT
          .SRESET                 ; 
                                  ;
          .EXIT
 
  WRDONE: .WAIT   #0
          BCS     3$
  IOXFER: .READC  #AREA,#3,,,#4$  ; 
          BCC     7$
          TSTB    @#ERRBYT        ; ?
          BEQ     6$              ;
  2$:     DECB    EOF
  3$:     DECB    EOF
          RETURN
  4$:     .WAIT   #3
          BCS     2$
          .WRITC  #AREA,#0,,,#WRDONE; 
          BCS     3$
  5$:     INC     BLOK
          RETURN
  6$:     INCB    EOF
  7$:     RETURN
 
  AREA:   .WORD   0       ;  
  BLOK:   .WORD   0       ; 
          .WORD   BUFF    ; 
          .WORD   256.    ; 
          .WORD   0       ;  
  BUFF:   .BLKW   256.
  DEFEXT: .WORD   0,0,0,0
  DONE:   .ASCIZ  / /
  MES:    .ASCIZ  /  /
  WRERR:  .ASCIZ  / .WRITC/
  RDERR:  .ASCIZ  / .READC/
  EOF:    .BYTE   0
          .EVEN
  DSPACE  =.
          
          .END    START
 
         .READW      
       .    -
        .READW   
    .
         :
        .READW AREA,CHAN,BUF,WCNT,BLK
    AREA -    5-   ;
        WCNT -     (  
     32 );
        BLK - .  .READ
           :
          AREA:   .BYTE   CHAN,10
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   0
                   -
   ,     ,        
    .    ,   
    ,    .   FB   
               
     .
  .
 
          .TITLE  READW.MAC
  ;   .READW,.WRITW.
          .MCALL  .CSIGEN,.READW,.WRITW,.PRINT,.CLOSE
          .MCALL  .SRESET,.EXIT
 
          ERRBYT = 52
 
  START:  .CSIGEN #DSPACE,#DEFEXT
          CLR     IOBLK
          MOV     #AREA,R5
  READ:   .READW  R5,#3
          BCC     2$
          TSTB    @#ERRBYT
          BEQ     3$
          MOV     #RERR,R0
  1$:     .PRINT
          BR      4$
  2$:     .WRITW  R5,#0
          INC     IOBLK
          BCC     READ
          MOV     #WERR,R0
          BR      1$
  3$:     .CLOSE  #0
          .PRINT  #DONE
  4$:     .SRESET
          .EXIT
 
  DEFEXT: .WORD   0,0,0,0
  AREA:   .WORD   0
  IOBLK:  .WORD   0
          .WORD   BUFF
          .WORD   256.
          .WORD   0
  BUFF:   .BLKW   256.
  RERR:   .ASCIZ  / .READW/
  WERR:   .ASCIZ  / .WRITW/
  DONE:   .ASCIZ  / /
          .EVEN
  DSPACE  =.
 
          .END    START
 
        5.2.2. .WRITE,.WRITC,.WRITW
           .WRITE  .WRITC  
              -
   .
         .WRITE        
      .   -
        ,     -
     .
         :
        .WRITE AREA,CHAN,BUF,WCNT,BLK
    AREA -    5-   ;
        BUF -   ,      
   ;
        WCNT -    ;
        BLK -      ;    -
     .LOOKUP  .ENTER, TO BLK  -    
     ;     
   .LOOKUP  .ENTER,  BLK -       -
   ;       BLK
      .
           :
          AREA:   .BYTE   CHAN,11
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   1
         .WRITC         
      .   -
          .WRITC.
     ,     -
    .   RTS PC    -
     .
         :
        .WRITC AREA,CHAN,BUF,WCNT,CRTN,BLK
    AREA -    5-   ;
        BUF -   ,      
   ;
        WCNT -    ;
        CRTN -   ;
        BLK - .  .WRITE
           :
          AREA:   .BYTE   CHAN,11
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   CRTN
 
         .WRITW         
      .   -
       .WRITW.
         :
        .WRITW AREA,CHAN,BUF,WCNT,BLK
    AREA -    5-   ;
        BUF -  ,    ;
        WCNT -    ;
        BLK - .  .WRITE.
           :
          AREA:   .BYTE   CHAN,10
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   0
 
        5.2.3. .RCVD,.RCVDC,.RCVDW ( FB,)
             , 
       .SDAT.  .RCVD -
     .READ,           
       ,      .  
     .RCVD  .RCVDC   -
        -.
         .RCVD         
   ,   .    -
           -
     .RCVD.  ,  .RCVD  
    .MWAIT,      
    .
         :
        .RCVD AREA,BUF,WCNT
    AREA -    5-   ;
        BUF -     ();
        WCNT -   .
           :
          AREA:   .BYTE   0,26
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   1
            .RCVD,  
     (BUF)        
    .  ,      
     ,   ,      
     .
         .SDAT/.RCVD        
      ,    . 
      .RCVD        
   .SDAT   .
           .RCVD  .      
   .MWAIT.
         .RCVDC        
          (-
    .READC).
         :
        .RCVDC AREA,BUF,WCNT,CRTN
    CRTN -   .
           :
          AREA:   .BYTE   0,26
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   CRTN
 
         .RCVDW          
    .     -
         .
         :
        .RCVDW AREA,BUF,WCNT
           :
          AREA:   .BYTE   0,26
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   0
 
           .RCVD,     .RCVDC  .RCVDW
        .
          .RCVDW  .      
   .CHCOPY.
 
        5.2.4. .SDAT,.SDATC,.SDATW ( FB,)
         .SDAT,.SDATC,.SDATW    -
    .RCVD,.RCVDC, .RCVDW     -
         FB  XM.
           .SDAT,.SDATC,.SDATW       
   .WRITE,.WRITC,.WRITW,      
     ,     .    
    .SDAT  .SDATC    -
       -.
        .SDAT
         :
        .SDAT AREA,BUF,WCNT
    AREA -    5-   ;
        BUF -        (),  
    ;
        WCNT -    .
           :
          AREA:   .BYTE   0,25
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   1
 
           .SDAT  .      
   .MWAIT.
        .SDATC
         :
        .SDATC AREA,BUF,WCNT,CRTN
    AREA -    5-   ;
        BUF -        (),  
    ;
        WCNT -    ;
        CRTN -   .
           :
          AREA:   .BYTE   0,25
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   CRTN
        .SDATW
         :
        .SDATW AREA,BUF,WCNT
    AREA -    5-   ;
        BUF -        (),  
    ;
        WCNT -    .
           :
          AREA:   .BYTE   0,25
                  .WORD   <>
                  .WORD   BUF
                  .WORD   WCNT
                  .WORD   0
 
          .SDATW  .      
   .CHCOPY.
 
        5.2.5. .TTYIN,.TTINR
         .TTYIN  .TTINR    -
        .
          .TTYIN:
                EMT 340
                BCS .-2
          .TTINR:
                EMT 340
         .TTYIN        
    ,        -
   ,         ,   
   .TTINR.     .TTINR  
   -,              
    (    ).   
   FB,   SJ(    )  .TTINR  
    -,     6-    
      ().
             .    
     12-   .  
   12-  ,        --
   .        :
        1)   ""  ,  
    ;
        2)        
      /U ;
        3)        
    ,    /Z  /;     -
        .
         12-     ,    -
      -.    -
     :
        1)    "" ,   -
   ,  /  /D;
        2) /U      ;
        3)      .
                 
       ,   -
    (  /  /D).
        12-        
   .   ,    -
    .
         /F,/  /       
   12- ,          SET  TT
   NOFB).
         /S  /Q  ,  
     FB(XM)          SET  TT
   NOPAGE.
           FB (XM)   ,    
     ,        
   ,       .  -
     .TTYIN  TTINR         .  
   ,      (  
    -         
   )     .TTINR  6-    
   . 6-      -
   .
          .TTYIN, .TTYINR     -
      SL,      
   SET SL ON  SET SL TTYIN   4-  12- 
     .
             SL,    6-
      ,        .TTINR
         -
   .
        .   .TTYIN      
   .         
   .GTLIN.  .TTYIN      
   .
         :
        .TTYIN CHAR
        .TTINR
    CHAR -  ,       
   ;  CHAR   ,     
       R0;  CHAR  ,   R0.
          .TTYIN,.TTINR .   -
    .TTYOUT,.TTOUTR.
 
        5.2.6. .TTYOUT,.TTOUTR
         .TTYOUT,.TTOUTR    -
     R0   .     -
      .TTYIN,.TTINR.   -
    ,   .TTYOUT    
       ,    .TTOUTR
        ,   R0,  
     .    .TTOUTR  -
     -,       ,     
            . 
    FB,  .TTOUTR    -.  
    ,      
        .    ,    
             -,
       6- .
        .         6-
     ,   .TTYIN   .TTYOUT    
     . ,     
              
          -
       .
         :
        .TTYOUT CHAR
        .TTOUTR
    CHAR -  ,     ,  
      R0      ;
    CHAR  ,     R0.
  .
          .TITLE  TTIO.MAC
          .MCALL  .TTYIN,.TTYOUT,.TTINR,.TTOUTR,.EXIT
          JSW     =44       ;  
  START:  MOV     #BUFFER,R1
          CLR     R2
          BIS     #100,@#JSW ; 6 
  INLOOP: .TTINR             ;   :
          BCS     NOCHR
  CHRIN:  MOVB    R0,(R1)+   ;   
          INC     R2
          CMPB    R0,#12
          BNE     INLOOP
          MOV     #BUFFER,R1
  OUTLOOP:MOVB    (R1),R0    ;   R0
          .TTOUTR            ;   :
          BCS     NOROOM
  CHROUT: DEC     R2
          BEQ     START
          INC     R1
          BR      OUTLOOP    ;  
  NOCHR:  .TTINR
          BCC     CHRIN      ; ?
          ;       .
          ;       .
          ;       .
          BR      NOCHR
          
  NOROOM: MOVB    (R1),R0
          .TTOUTR
          BCC     CHROUT     ;   -
                             ; 
          ;       .
          ;       .
          ;       .
          BIC     #100,@#JSW ; 6  
          .TTYOUT (R1)       ; 
          BIS     #100,@#JSW
          BR      CHROUT
 
  BUFFER: .BLKB   128.
          .END    START
 
        5.2.7. .PRINT
         .PRINT     -7 
    .      FB,    
      >  F>,     
   ,     (> - , F> - -
   ).        -
       .
               ,
           
   .
         ,        ,  
      (0) ,      200.  
    ,     ,    
       .
              
             -
   .
             ,  -
       .
         ,         
     .PRINT,   .TTYIN  .TTYOUT.
               -
   ,         -
    .TTYOUT          ,
          .
         :
        .PRINT ADDR
    ADDR -  ,   .
  .
          .TITLE  PRINT.MAC
  ;    .PRINT   
  ;,   .
          .MCALL  .GTLIN,.PRINT,.EXIT
  START:  .GTLIN  #BUFF,#PROMPT   ;   
          TSTB    BUFF            ; ?
          BEQ     1$              ;
          .PRINT  #BUFF           ;- 
          CLRB    BUFF
          BR      START
  1$:     .EXIT
  BUFF:   .BLKW   41.
  PROMPT: .ASCII  /  :   /<200>
          
          .END START
 
        5.2.8. .MTIN
         .MTIN    -
    .TTYIN.  .MTIN      
        ,   .
            .
       ,      
        R0 .    TCBIT
      M.TSTS,   .MTIN  -
           ,  
       (..  ,    
   TTSPC        ,    
   TTSPC ).   , .MTIN   
      ,    ,      
   .
         :
        .MTIN AREA,ADDR,UNIT[,CHRCNT]
    AREA -    3-   ;
        ADDR -   ;
        UNIT -    ();
        CHRCNT -      (  1  
   255);    ,    .
           :
          AREA:   .BYTE   2,37
                  .WORD   ADDR
                  .BYTE   UNIT,CHRCNT

        5.2.9. .MTOUT
         .MTOUT     -
    .TTYOUT.  .MTOUT      -
          . -
         .  -
           R0,  
     .      -
        TCBIT        M.TSTS,  
   .MTOUT  -      -
    .      TCBIT  ,  
        ,      
       .
         :
        .MTOUT AREA,ADDR,UNIT[,CHRCNT]
    AREA -    3-   ;
        ADDR -   ;
        UNIT -   ;
        CHRCNT -      (  1  
   255);    ,    .
           :
          AREA:   .BYTE   3,37
                  .WORD   ADDR
                  .BYTE   UNIT,CHRCNT
 
       5.2.10. .MTPRNT
         .MTPRNT    -
    .PRINT.          
       .
         :
        .MTPRNT AREA,ADDR,UNIT
    AREA -    3-   ;
        ADDR -   ,      
   (.. .ASCII // <200>  .ASCIZ //);
        UNIT -   .
           :
          AREA:   .BYTE   7,37
                  .WORD   ADDR
                  .BYTE   UNIT
 
       5.2.11. .SPFUN
         .SPFUN     
       ,   
    .
         :
        .SPFUN AREA,CHAN,FUNC,BUF,WCNT,BLK[,CRTN]
    AREA -    6-   ;
        FUNC -  ,   ;
        BUF -  ;        
   ,      ;
        CRTN -    ;    CRTN  
   ,       ;
    CRTN  ,     
       ;   CRTN  
   1,       -
      ;  CRTN=N ,    N  -  
     (N>500 ()).
          CHAN,BLK,WCNT    ,        
   .READ/.WRITE.    ,   -
              
    .
           :
          AREA:   .BYTE   CHAN,32
                  .WORD   BLK
                  .WORD   BUF
                  .WORD   WCNT
                  .BYTE   377,FUNC
                  .WORD   CRTN
         .9      .SPFUN    -
     .
 
                                                     9
    -----------------------------------------------------------
    !                                 !                    !
    !                          !-----------------------!
    !                                 !  M !  DX !  DY !  LD !
    !---------------------------------------------------------!
    !         ! 373 !     !     !     !
    !   EOF                ! 377 !     !     !     !
    !        ! 376 !     !     !     !
    !         ! 375 !     !     !     !
    !                           ! 371 ! 376 ! 376 !     !
    !                           ! 370 ! 377 ! 377 !     !
    !    !     !     !     !     !
    !                      ! 374 !     !     !     !
    !     !     !     !     !     !
    !                           ! 372 !     !     !     !
    !         !     !     !     !     !
    !                           !     ! 375 ! 375 !     !
    !     !     !     !     !     !
    ! ()                          !     !  -  ! 373 ! 373 !
    ! ()  - !     !     !     !     !
    !                              !     !     !     ! 372 !
    -----------------------------------------------------------
 
             .SPFUN  ,  
            
          .LOOKUP.
  .
          .TITLE  SPFUN.MAC
  ;   .SPFUN.
          .MCALL  .SPFUN,.FETCH,.LOOKUP,.PRINT,.CLOSE,.EXIT
  START:  .FETCH  #DSPC,#MT       ;  :
          BCS     1$
          .LOOKUP #AREA,#4,#MT    ; 
          BCS     2$
          .SPFUN  #AREA,#4,#373,#0;  
                                  ;
          .BCS    3$
          .CLOSE  #4
          .EXIT
  1$:     MOV     #FERR,R0
          BR      5$
  2$:     MOV     #LKERR,R0
          BR      5$
  3$:     MOV     #SPERR,R0
  5$:     .PRINT
          .EXIT
  AREA:   .WORD   0
  MT:     .RAD50  /MT /
          .WORD   0,0,0
  FERR:   .ASCIZ  / .FETCH/
  LKERR:  .ASCIZ  / .LOOKUP/
  SPERR:  .ASCIZ  / .SPFUN/
          .EVEN
  DSPC    =.
          .END    START
 
        5.3.   
        5.3.1. .CDFN
         .CDFN       
    -.         
        ,  -
    16 ()   -  (  0  
   15).  .CDFN       255
   () ( 0  254).    255 -
    .      
      .     -
       (     ).  
          ,  -
      .CDFN,       28
     .  ,       .CDFN
               -
   .        
   .CDFN,            
    ,           .
     .SRESET  .HRESET   -
      (16 ()).   -
    .CDFN      
   .SRESET  .HRESET.
        ,    .CDFN      .
             -
   . ,  .CDFN  20 ()   -
   - (     16      
   )  20   -.  
    16-    ,  -
         .
                 15-  
         .
         :
        .CDFN AREA,ADDR,NUM
    AREA -    3-   ;
        ADDR -      ;
        NUM -   .
           :
          AREA:   .BYTE   0,15
                  .WORD   ADDR
                  .WORD   NUM
 
  .
          .TITLE  CDFN.MAC
  ;     .CDFN  
  ;  32.  .
 
          .MCALL  .CDFN,.PRINT,.EXIT,.HRESET
 
  START:  .CDFN   #AREA,#CHAN,#255.   ; 32.
          BCC     1$
          .PRINT  #MSG1               ; 
          .EXIT                       ;  
  1$:     .PRINT  #MSG2               ; 
          .HRESET
          .EXIT                       ;  
 
  AREA:   .BLKW   3                   ;  
  CHAN:   .BLKW   5*255.              ;  
 
  MSG1:   .ASCIZ  / .CDFN/
  MSG2:   .ASCII  / 32.  /<15><12>
          .ASCIZ /  16. /
          .EVEN
 
          .END    START
 
        5.3.2. .CHAIN
         .CHAIN       -
            -
    .    ,   -
          
    .
         500-507        
    (  RADIX-50),   . -
    510-777       -
     .
         : .CHAIN
        :
        1)    ,  -
           
    500-777,        .CHAIN;
    .CHAIN    ,   -
     500-777  .
        2)  -    -
     .CHAIN       .
   ,  -,     .CDFN  
    .        .CHAIN  
       (16  (-
   )),  ,      
    .CHAIN    .CDFN. -
            
   .CHAIN,        -
   .
        3)  8-        ,
       -   .CHAIN     
   RUN.                 
   ,        .CHAIN.  
   ,    500   777,  
       .CHAIN,       -
    8-         .    
   ,    .   
   ,  500-777,    
     ,     
    .
        4)   .CHAIN    ,    
     RUN.
  .
  ;     CHAIN1.SAV 
  ;   CHAIN.SAV   .CHAIN
 
          .TITLE  CHAIN.MAC
 
          .MCALL  .CHAIN,.TTYIN,.PRINT
 
  START:  MOV     #500,R1
          MOV     #CHPTR,R2
          .REPT   4
          MOV     (R2)+,(R1)+   ;    500-507
          .ENDR
          .PRINT  #PROMT
  LOOP:   .TTYIN                ;   : 
                                ; 510-777
          MOVB    R0,(R1)+
          CMPB    R0,#12        ; ?
          BNE     LOOP          ;
          CLRB    @R1
          .CHAIN                ;  CHAIN1
  CHPTR:  .RAD50  /DK/
          .RAD50  /CHAIN1/
          .RAD50  /SAV/
  PROMT:  .ASCII /    CHAIN1: /<200>
          
          .END    START
 
  ;   CHAIN1
 
          .TITLE  CHAIN1.MAC
 
          .MCALL  .PRINT,.EXIT
 
          JSW = 44
          CHAIN$ = 400
 
  STARTC: BIT     #CHAIN$,@#JSW   ;8  ?
          BEQ     1$              ;
          .PRINT  #CHAIND         ; -  
          MOV     #510,R0
          .PRINT                  ;  
                                  ;510-777
          .EXIT
  1$:     .PRINT  #NOCHN
          .EXIT
  CHAIND: .ASCII  /  510-777 :  /<200>
  NOCHN:  .ASCIZ  /  8-  !/
          .END    STARTC
 
        5.3.3. .CMKT
         .CMKT        
   .MRKT.
         :
        .CMKT AREA,ID[,TIME]
    AREA -    3-   ;
        ID - ,      
   .MRKT,   ;   -
    .MRKT   ID,        
   ,      
   ;  ID=0,     .MRKT;
        TIME -     2-  ,      
          -
    ;      -
    ,  -  ;     -
   ,    ,  ID=0,    TIME
   .
           :
          AREA:   .BYTE   0,23
                  .WORD   ID

        .     .MRKT  
     .
           .CMKT  .      
   .MRKT.
 
        5.3.4. .CNTXSW ( FB,XM)
                  ,
    ,   ,    
   .       -
            
   .        -
   ,  34-52,     ,   
   .SFPA          
      .
          .CNTXSW        
   ,          
    .
        ,           
      ,    -
         .  ,
       IOT,   -
      20     -
      .        -    
    -   IOT,   20  -
          .
         20    22    
     .CNTXSW.
          .CNTXSW      ,
          .
          .CNTXSW      -
    USR        .
          ,  .CNTXSW   -
    , ..       -
    .     IOT,  TRAP,
   BPT   250      XM  
     ,  ,  ,  
        .CNTXSW.
         :
        .CNTXSW AREA,ADDR
    AREA -    2-   ;
        ADDR -      (    
   );          
   2  476     ,   
    160000  177776.
           :
          AREA:   .BYTE   0,33
                  .WORD   ADDR
  .
          .TITLE  CNTXSW.MAC
  ;     .CNTXSW  
  ;   20,22,177302,177304,177310 
  ;   .
          .MCALL  .CNTXSW,.PRINT,.EXIT
  START:  .CNTXSW #AREA,#SWLIST
          BCC     1$
          .PRINT  #ADDRER
          .EXIT
  1$:     .PRINT  #CNTOK
          .EXIT
 
  SWLIST: .WORD   20
          .WORD   22
          .WORD   177302
          .WORD   177304
          .WORD   177310
          .WORD   0
 
  AREA:   .BLKW   2
 
  ADDRER: .ASCIZ  / .CNTXSW /
  CNTOK:  .ASCIZ  /    /
 
          .END    START
 
        5.3.5. .CSIGEN
         .CSIGEN     -
     (CSI)   .       CSI  -
         -
     :
        1)    ;
        2)   .LOOKUP / .ENTER   -
    ;
        3)      ;
        4)   .CLOSE   0-10 (-
   ).
        ,        ,
              
     .     ,
        .
           .CSIGEN  R0  -
             
   .
              
      .CSIGEN,    
      / .       
      0,1  2- ;  
   -     3-10 ().
        ,   
   *,LP:=F1,F2
   0-  2-   ,  1-    -
     LP:, 3  4-      
    F1  F2  DK:,  5-10 () 
   .
              
      .WAIT    ,
       ,    .
               .
         :
        .CSIGEN DEVSPC,DEFTUP,CSTR[,LINBUF]
    DEVSPC -      ;
        DEFTUP -     4-  ,    
           RADIX-50.      
    ,       
    ;
        CSTR -   .    
    ,  ,     .   CSTR
      0,       ;  
     FB(),        
    ,      
   .UNLOCK  USR;
        LINBUF - ,       -
     ;    -
       81 () ;   
        .
        :
        1) ,     DEFTYP,  1-  
         ,  2, 3   4-
    -     0,1  2- 
   .          
   ,       .  
          RADIX-50.
        2)  CSIGEN    
      ,        
   (CSTR=0)  ,  .CSIGEN  
    .
        3)  LINBUF    -
            
   .
        4)        
   ,  CSI       -
   ,      -   -  
     (52- ).
  .
          .TITLE  CSIGEN.MAC
  ;     .CSIGEN
  ;   
 
          .MCALL .CSIGEN,.READW,.WRITW,.CLOSE,.SRESET,.EXIT
          .MCALL .PRINT
 
          ERRBYT=52
 
  START:  .CSIGEN #DSPACE,#DEXT   ;  
          MOV     R0,BUFF         ;  
                                  ;
          CLR     INBLK           ; 
          MOV     #AREA,R5
  READ:   .READW  R5,#3,BUFF,#400,INBLK ; 
          BCC     2$
          TSTB    @#ERRBYT        ; ?
          BEQ     EOF             ;
          MOV     #INERR,R0
  1$:     .PRINT                  ; 
          CLR     R0
          .EXIT
  2$:     .WRITW  R5,#0,BUFF,#400,INBLK ; 
          BCC     NOERR
          MOV     #WTERR,R0
          BR      1$
  NOERR:  INC     INBLK           ;  
          BR      READ            ;  
  EOF:    .CLOSE  #0              ;  - 
          .CLOSE  #3              ;  
                                  ;
          .SRESET                 ;  
                                  ;
          .EXIT
 
  DEXT:   .WORD   0,0,0,0
  BUFF:   .WORD   0
  INBLK:  .WORD   0
  AREA:   .BLKW   5
 
  INERR:  .ASCIZ / /
  WTERR:  .ASCIZ / /
          .EVEN
 
  DSPACE  =.
 
          .END    START
 
        5.3.6. .CSISPC
         .CSISPC   CSI   -
   .           
           -
   ,   ,    .    -
      CSI      ,  
     .FETCH,.CLOSE, .ENTER,.LOOKUP.
              .
         ,  .CSISPC,  
      CSTR=0, TO .CSISPC   
       .
         :
        .CSISPC OUTSPC,DEFTUP[,CSTR[],LINBUF]
    OUTSPC -    39    
    ;
        DEFTYP -     4-  ,    
           RADIX-50.      
    ,       
    ;
        CSTR -   .    
   , ,     .  CSTR 
     0,     ;
        LINBUF - ,       -
     ;    -
       81 ;     -
      .
        ,     OUTSPC,   -
     9 :  5     3- 
      4       6-    .
            :
   1-  -  ; 2  3  -  ;  4-
    -  ; 5-  -    .  
   -  ,      
    .
        ,
   *DX1:LIST.MAC[15]=PC:
          .CSISPC    5      ,
       OUTSPC,     -
   :
   16337  RADIX-50  DX1
   46173  RADIX-50  LIS
   76400  RADIX-50  T
   50553  RADIX-50  MAC
   00017   
 
         4       (-
      OUTSPC+36)   :
   62170  RADIX-50  PC
    0        
    0
    0
               ,  USR  
        ,   
   -  .
  .
 
          .TITLE  CSISPC.MAC
 
  ;     
  ;   .
  ; .DSTATUS    
  ;  ,  ,  
  ; .FETCH     .
  ;      .DELETE.
 
          .MCALL  .CSISPC,.DSTATUS,.FETCH,.PRINT,.EXIT,.DELETE
 
  START:  MOV     SP,R5   ;   
          .CSISPC #OUTSP,#DEFEXT ;  
          MOV     R5,SP   ;  
          .DSTAT  #STAT,#OUTSP   ;  
                                 ; 
          TST     STAT+4         ; ?
          BNE     2$             ;
          .FETCH  #DEVLOD,#INSPEC;- 
          BCC     2$
          .PRINT  #FEFAIL
          .EXIT
  2$:     .DELETE #AREA,#0,#INSPEC; 
          BCC     3$
          .PRINT  #NOFILE
          BR      START
  3$:     .PRINT  #FILDEL
          .EXIT
 
  AREA:   .BLKW   2
  STAT:   .BLKW   4
  DEFEXT: .WORD   0,0,0,0
  FEFAIL: .ASCIZ  / .FETCH/
  NOFILE: .ASCIZ  /  /
  FILDEL: .ASCIZ  / /
          .EVEN
  OUTSP:  .BLKW   5*3     ; .
  INSPEC: .BLKW   4*6     ; .
  DEVLOD: .BLKW   1       ;  
          .END    START
 
      5.3.6.1.       
                .
              CSI 
        .  -
        (/),        
    ( -7).     -
    ,        (:).
              
   (  ),        -  
    (   ),    -  . 
           -
   .
   : *DK:FOO/A,DX1:FILE.OBJ/A:100
              ,    
        FOO,     -
     FILE:OBJ    100 ().
         . 10       
     .CSIGEN    .CSISPC.    
       .
 
                                                    10
    -----------------------------------------------------------
    !  !            !                  !
    !---------------------------------------------------------!
    !   1   !          N           !      !
    !       !                      !           !
    !   2   !     !     !
    !       !            ! .    !
    !       !                      ! 8-14        !
    !       !                      ! ( 0  10) ,  -!
    !       !                      !    -!
    !       !                      ! .  15 - !
    !       !                      !  1,  -!
    !       !                      !         !
    !   3   !  -  !   15- -!
    !       !    -  !    2,   3!
    !       !    !   -  !
    !       !                      ! .     !
    !       !                      !  -    !
    !       !                      !             !
    -----------------------------------------------------------
 
        ,   CSI  
        *FILE/B:20.,FIL2/E=DX1:INPUT/X:SY:20
      ,   . 11.
 
                                                    11
    -----------------------------------------------------------
    !   !                                   !
    !---------------------------------------------------------!
    !     4       !   ( X     !
    !             !       !
    !             !  )                        !
    !  101530     !   (X)   3- !
    !             !                       !
    !    20       !    X                 !
    !  101530     !   (X)   3- !
    !             !                       !
    !  75250      !    X-SY        !
    !             ! RADIX-50                                  !
    !    505      !   ()   1-  !
    !             !                    !
    !  100102     !  ()   0-     !
    !             !                              !
    !    24       !                     !
    -----------------------------------------------------------
 
        :
 
        1)   ,      -
         CSI.  ,
         -
   .   ,    -
       CSI,        .
   ,      
       .
 
        5.3.7. .ABTIO
         .ABTIO     
     -     ,    
    .
          .ABTIO   -
   .
         : .ABTIO CHAN
    CHAN -  .
 
        5.3.8. .CSTAT ( FB,XM)
         .CSTAT    -
      .
         :
        .CSTAT AREA,CHAN,ADDR
    AREA -       ;
        CHAN -  ,       
   ;
        ADDR -    6-      -
    .
          :
          AREA:   .BYTE   CHAN,27
                  .WORD   ADDR
  .
 
          .TITLE  CSTAT.MAC
  ;    .CSTAT   
  ;,    .
 
          .MCALL  .CSTAT,.CSIGEN,.PRINT,.EXIT
 
  START:  MOV     SP,R5
          .CSIGEN #DEVSDC,#DEFEXT ;  
          MOV     R5,SP
          .CSTAT  #AREA,#0,#ADDR  ;  
                                  ;
          BCS     NOCHAN          ;  
          MOV     #ADDR+10,R5
          MOV     (R5)+,R0
          ADD     (PC)+,R0
          .RAD50  /  0/
          ADD     (R5),R0         ;  
          MOV     R0,DEVNAM
          .EXIT
 
  NOCHAN: .PRINT  #MSG
          .EXIT
 
  MSG:    .ASCIZ  /   -   /
          .EVEN
  AREA:   .BLKW   5
  ADDR:   .BLKW   6
  DEVNAM: .WORD   0               ; 
  DEFEXT: .WORD   0,0,0,0
 
  DEVSDC  =.                      ;  
 
          .END    START
 
 
        5.3.9. .DATE
         .DATE          
        R0.     -
    :
         13-10 - ;
         9-5 - ;
         4-0 - .
             0  4  
     1972.
         :
        .DATE
           R0   ,    -
      .
  .
          .TITLE DATE.MAC
  ;    (  
  ;DATE)    .DATE,   
  ;   .
  ;
  ;.:    R0 =  (1-12)
  ;               R1 =   (1-31)
  ;               R2 =    (  )
  ;
  ;:        R0 = 0,    
  ;
 
          .MCALL  .DATE
 
  DATE::  .DATE           ;   R0
          MOV     R0,R2
          BEQ     1$      ;,   
                          ;
          BIC     #37,R2; 
          ADD     #72,R2
          MOV     R0,R1
          ASL     R1      ; 
          ASL     R1
          ASL     R1
          SWAB    R1
          BIC     #37,R1; 
          SWAB    R0
          ASR     R0
          ASR     R0
          BIC     #37,R0
  1$:     RETURN          ;  
          .END
 
 
       5.3.10. .DEVICE( FB,XM)
         .DEVICE     -
                (
   .EXIT  /).         
        .
                .DEVICE  
            -
   .
         .DEVICE ,      -
       .
         :
        .DEVICE AREA,ADDR[,LINK]
    AREA -    2-   ;
        ADDR -     ;
        LINK -  ,     -
           
   .DEVICE.   LINK  ,      
         
   .DEVICE.
                  -
      .      
   .          
   .  .5      
   .
 
                                 
          -------------                   -------------
  ADDR:   !      !         ADDR:     !     0     !
          -------------                   -------------
          !   !                   !      !
          -------------                   -------------
          !      !                   !   !
          -------------                   -------------
          !   !                   !      !
          -------------                   -------------
                .                         !   !
                .                         -------------
                .                               .
          -------------                         .
          !      !                         .
          -------------                   -------------
          !   !                   !      !
          -------------                   -------------
          !     0     !                   !   !
          -------------                   -------------
                                          !     0     !
                                          -------------
 
                              .5
 
 
       5.3.11. .DSTATUS
         .DSTATUS     
     .
         :
 
        .DSTATUS DSTBLK,DEVNAM
    DSTBLK -    4-   ;
        DEVNAM -      RADIX-50. -
             -
   .        -
      .12.
                                                    12
    -----------------------------------------------------------
    !  !  !                           !
    !---------------------------------------------------------!
    ! 0-7    !     0      !             !
    !        !     2      !    !
    !        !            !                             !
    !        !     3      ! -    !
    !        !     4      !        !
    !        !            ! BATCH                             !
    !        !     6      !      !
    !        !     7      !     !
    !        !            !                             !
    !        !    11      !         !
    !        !    21      !    DP         !
    !        !            ! (29 )                       !
    !        !    22      !                        !
    !        !    25      !                !
    !        !    34      !            !
    !        !    41      !   -!
    !        !            !                             !
    !        !    42      !        !
    !        !    46      !            !
    !        !    47      !           !
    !        !    50      !         !
    !        !            !  -                 !
    !        !    51      !            !
    !  10    !    1       !         !
    !        !            !   .SPFUN      !
    !        !    0       !         !
    !        !            !  .SPFUN                    !
    !  11    !    -       !                          !
    !  12    !    1       !    !
    !  13    !    1       !          !
    !  14    !    1       !          !
    !  15    !    1       !    !
    !        !            !                            !
    !        !    0       !        !
    !        !            !                    !
    -----------------------------------------------------------
 
                 -
     .
              -
     6.  0 -    .
              
   ( )         
    0       .
           DEVNAM     ,
    .
          .DSTATUS .     
   .CSISPC.
 
       5.3.12. .EXIT
         .EXIT      
       KMON.
                -
     -  /   
    .     .MRKT    .CMKT
    .
                
   KMON  USR,           
         (    
     SET EXIT SWAP).    KMON    USR
          
   .     SET EXIT  NOSWAP,  
      .
         R0 = 0    .EXIT,   
       .HRESET,      
     REENTER, START  CLOSE.
         .EXIT     -
    ,   500-777,    -
    .   :
        1)  510     
    ,    KMON;
        2)  ,    512;  
        -7    
      ; :
      .=510
      .WORD B-A
  A:  .ASCIZ /COPY A.MAC W.MAC/
      .ASCIZ /DELETE A.MAC/
  B=  .
        3)     5    11
        .EXIT;  R0  
    .
          .EXIT       
     :
        1)     ,  
       ,     -
          ,    
    ,   ;
        2)       ,    
   ,       KMON 
      ;   
         
      KMON     -
   ;
        3) .EXIT     .  -
   ,   .EXIT     
   .
         : .EXIT
  .
          .TITLE  EXIT.MAC
  ;  ,   ,
  ;   
  ;     DK:
          .MCALL  .EXIT
  CHNIF$  = 4000
  JSW     = 44
 
  START:  MOV     #510,R0
          MOV     #CMDSTR,R1
          MOV     #START,SP
 
  1$:     MOVB    (R1)+,(R0)+
          CMP     R1,#CMDEND
          BLO     1$
          BIS     #CHNIF$,@#JSW ; 11- 
                                ; JSW
          CLR     R0            ; R0   0
          .EXIT
 
  CMDSTR: .WORD   CMDEND-CMDSTR ;  
          .ASCIZ  "DIRECT/FULL *.MAC" ; 
  CMDEND:
          .EVEN
          .END    START
 
       5.3.13. .FETCH,.RELEAS
         .FETCH      -
       .
         :
        .FETCH ADDR,DEVNAM
    ADDR -   ;
        DEVNAM -      RADIX-50.
          .FETCH,  R0      ,
      ,      .
          ,  R0    
     ADDR.
          
           .CLOSE   .READC   .READ    .SFDAT
           .LOOKUP  .WRITE   .WRITC   .FPROT
           .ENTER   .READW   .SPFUN
           .RENAME  .WRITW   .DELETE
          -
   .
          FB,       -
         LOAD  
   .
          ,       
      (  )   LOAD
     .
          .FETCH  .      
   .CSISPC.
         .RELEAS      
    .  .RELEAS ,  :
        1)   RMON (..    -
    );
        2)   ;
        3)     LOAD.
         .RELEAS         
       FB()   -
   , ..  FB         
   ,      LOAD.
         :
        .RELEAS DEVNAM
    DEVNAM -      RADIX-50.
  .
          .TITLE  RELEAS.MAC
  ;    :   ,
  ;    .RELEAS   .
 
          .MCALL  .FETCH,.RELEAS,.EXIT,.PRINT
 
  START:  .FETCH  #DSPACE,#DEVNAM ; 
          BCS     FERR
          .RELEAS #DEVNAM         ; 
          BR      START
 
  FERR:   .PRINT  #NODEV
          .EXIT
  DEVNAM: .RAD50  /PC /
  NODEV:  .ASCIZ  "   !"
          .EVEN
  DSPACE:
 
          .END    START
 
       5.3.14. .FORK
         .FORK      -
     .    .FORK    
    .INTEN, .FORK         
     4- .     R4    R5  
     . .FORK      
   ,           
           -
   ,    ,  .  
     .FORK     -
          .
         :
        .FORK FKBLK
    FKBLK -    4-  (   
   ).
 
       5.3.15. .FPROT
           .FPROT   -
      ( ).
              
   .CLOSE, .DELETE, .ENTER  .RENAME.  , -
         ,    .  ,
      .LOOKUP        
     .WRITE,     ,  -
   .
               15-
            -
    .
         :
        .FPROT AREA,CCHAN,DBLK,PROT
    AREA -   ( 4- )  ;
        CHAN -   (  0  376);
        DBLK -   ( 4- ),   -
       RADIX-50;
        PROT - ,   1  (  )
    0 ( ).
          :
          AREA:   .BYTE   CHAN,43
                  .WORD   DBLK    
                  .WORD   PROT
  .
          .TITLE FPROT.MAC
  ;    .FPROT  .SFDAT
  ;     
  ;      .
  ;    .
 
          .MCALL .FPROT,.FETCH,.CSISPC,.DSTATUS,.SFDAT
          .MCALL .PRINT,.EXIT
 
  START:  .CSISPC #OUTSP,#DEFEXT  ;  
          .DSTAT  #STAT,#INSPEC   ; 
                                  ;
          TST     STAT+4          ; ?
          BNE     1$              ;
          .FETCH  #DRVLOD,#INSPEC ;- 
          BCC     1$
          .PRINT  #LOFAIL
          BR      START
  1$:     .FPROT  #EMTBLK,#0,#INSPEC,#1; 
                                       ;     
          BCC     2$
          .PRINT  #PRFAIL
          BR      START
  2$:     .SFDAT  #EMTBLK,#0,#INSPEC,#0;  
                                       ;   
          BCC     3$
          .PRINT  #SDFAIL
          BR      START
  3$:     .EXIT
 
  EMTBLK: .BLKW   4
  DEFEXT: .WORD   0,0,0,0
  STAT:   .BLKW   4               ;    
  LOFAIL: .ASCIZ  /  .FETCH/
  PRFAIL: .ASCIZ  /  .FPROT/
  SDFAIL: .ASCIZ  /  .SFDAT/
          .EVEN
  OUTSP:  .BLKW   5*3
  INSPEC: .BLKW   4*6
  DRVLOD: .BLKW   1
          .END    START
 
 
       5.3.16. .GTIM
         .GTIM       
    .            (1
   =1/50 ).
         :
        .GTIM AREA,ADDR
    AREA -    2-   ;
        ADDR -    2- ,    
      ;     -
    ,   - .
          :
          AREA:   .BYTE   0,21
                  .WORD   ADDR
                
           --.  
    FB     
    24:00:,   SJ      -
   ,       -
    .
  .
 
          .TITLE  .GTIM.MAC
 
  ;      
  ; .
 
          .MCALL  .GTIM,.EXIT
 
  START:  .GTIM   #AREA,#TICKS    ; 
                                  ;
          .EXIT
 
  TICKS:  .WORD   0,0
  AREA:   .BLKW   2
          
          .END START
 
       5.3.17. .GTJB
          .GTJB        
    ,       -
    .
         :
        .GTJB AREA,ADDR[,JOBBLK]
    AREA -    2-   ;
        ADDR -    8-  12-   -
     (. .13);
        JOBBLK -    3- ,  -
        -7.
          :
          AREA:   .BYTE   0,20
                  .WORD   ADDR
                  .WORD   JOBBLK
 
                                                    13
    -----------------------------------------------------------
    !        !                                 !
    !---------------------------------------------------------!
    !     1       !  ;   FB,XM  -   !
    !             !   :  - 0,    !
    !             !  - 2;                             !
    !             !   FB,    -!
    !             ! :  - 0,  - 2,4,6,10, !
    !             ! 12,14,  - 16                      !
    !     2       !               !
    !     3       !                !
    !     4       !    -       !
    !     5       !            !
    !             !  FB  XM                         !
    !     6       !   -    !
    !             !     !
    !     7       !    -      !
    !             !   .                 !
    !   10-12     !   FB,       !
    !             !  -       !
    !             ! -7                                     !
    -----------------------------------------------------------
 
        .         
     ,   ,   -
   ,  ,      -
          
   .
         4  ,     
    -.       -
    RMON. ,   .CDFN,    
   -   ,      -
    .
  .
          .TITLE  GTJB.MAC
  ;      .GTJB 
  ;   .
  ;      
  ;FB,    ,   
  ;  FB,    
  ; .
 
          .MCALL  .GVAL,.GTJB,.PRINT,.EXIT
 
          SYSGEN = 372            ;  
          SYSJOB = 40000          ;  
 
  START:  MOV     #2,     R1
          .GVAL   #LIST,  #SYSGEN ;  R0 
                                  ; 
          BIT     #SYSJOB,R0      ;  
                                  ;
          BEQ     1$
          MOV     #16,    R1      ;  =16
 
  1$:     .GTJB   #LIST,#JOBARG,R1; 
          BCS     2$
          .PRINT  #FGLOAD
          .EXIT
  2$:     .PRINT  #NOFG
          .EXIT
 
  LIST:   .BLKW   3
  JOBARG: .BLKW   12.             ;  
  FGLOAD: .ASCIZ  /     /
  NOFG:   .ASCIZ  /    /
          .EVEN
          .END    START
 
       5.3.18. .GTLIN
         .GTLIN      -
     ,      CSI
         .
         .GTLIN   USR    
       ,      
   ,            
        .
         .GTLIN   PSTR,   -
       ,    -
     SET TT QUIET. ,    
       ,     -
     SET TT QUIET,  .GTLIN    
    PSTR       
     .
         :
        .GTLIN SPTR[,PSTR][,TYPE]
    SPTR -        ;  
       81 ;   
        ;
        PSTR -   ,     -
     ; PSTR    ,    -
     .PRINT.
        TYPE -   ,   -
          .
        .    ,    
         ,    
   .CSIGEN, .CSISPC  .GTLIN.
  .
          .TITLE  GTLIN.MAC
  ;    ,  
  ;.
 
          .MCALL  .GTLIN,.PRINT,.EXIT
 
  START:  .GTLIN  #BUFF,#PROMT
          TSTB    BUFF
          BEQ     1$
          .PRINT  #BUFF
          CLRB    BUFF
          BR      START
  1$:     .EXIT
  BUFF:   .BLKW   41.
  PROMT:  .ASCII  /  -  /<200>
          .END    START
 
       5.3.19. .GVAL,.PVAL
         .GVAL   R0    .
          .TITLE  GTLIN.MAC
  ;    ,  
  ;.
          .MCALL  .GTLIN,.PRINT,.EXIT
  START:  .GTLIN  #BUFF,#PROMT
          TSTB    BUFF
          BEQ     1$
          .PRINT  #BUFF
          CLRB    BUFF
          BR      START
  1$:     .EXIT
  BUFF:   .BLKW   41.
  PROMT:  .ASCII  /  -  /<200>
          .END    START
 
       5.3.19. .GVAL,.PVAL
         .GVAL   R0    
   .
         :
        .GVAL AREA, OFFSET
    AREA -    2-   ;
        OFFSET -     RMON.
          :
 
          AREA:   .BYTE   0,34
                  .WORD   OFFSET
 
           .GVAL  .      
   .GTJB.
         .PVAL     -
   .      R0.
           .GVAL  .PVAL      
            
     RT11.
         :
        .PVAL AREA,OFFSET,VALUE
    AREA -    2-   ;
        OFFSET -       RMON;
   VALUE -    .
          :
 
          AREA:   .BYTE   2,34
                  .WORD   OFFSET
                  .WORD   VALUE
 
       5.3.20. .HERR,.SERR
         .HERR,  .SERR      
           .  
           
   ,      (.  .  14).
                
      .      
         -  
   . ,      
           -
   ,     .        
     .SERR,     -
      ,        .
    ,         
    .SERR,   -        
   52- .        .SERR  
    ,  ,      
   .LOOKUP  .ENTER.
         .HERR    .SERR.    
          
    .
         :
        .HERR
        .SERR
 
                                                    14
    -----------------------------------------------------------
    !          !                              !
    !---------------------------------------------------------!
    !     -1      !  USR         !
    !     -2      !               !
    !     -3      !  -  !
    !     -4      !  .FETCH.    ,!
    !             !      USR     !
    !             ! RMON                                      !
    !     -5      !            !
    !     -6      !        !
    !             !                        !
    !     -7      !   (   FB)   !
    !             !      - !
    !             !                                      !
    !     -10     !                  !
    !     -11     !   EMT;  - !
    !             !                  !
    !     -14     !                     !
    !     -15     !    (   !
    !             ! )                                       !
    -----------------------------------------------------------
 
  .

.MCALL	.ENTER	.HERR	.SERR	.PRINT	.EXIT	.USRDF

START:	.SERR			;  
				; 
	.USRDF			;   
				; USERRB
	.ENTER	#AREA,#1,#FILE	;   PR:
	BCC	3$
	CALL	ERR		; 
	.HERR			;    
	.ENTER	#AREA,#1,#FILE	;   PR:
	BCS	ERR1
3$:	.EXIT
ERR1:	.PRINT	#MSG
	.EXIT
MSG:	.ASCIZ	/ .ENTER/
	.EVEN
ERR:	MOVB	@#52,R0		;  
	NEG	R0
	DEC	R0
	ASL	R0
	MOV	COD(R0),R0
	.PRINT
	BISB	#3,@#USERRB	;    
	RETURN

COD:
	C1
	C2
	C3
	C4
	C5
	C6
	C7
	C10
	C11
	C14
C1:	.ASCIZ	/USR?/
C2:	.ASCIZ	/  /
C3:	.ASCIZ	/  /
C4:	.ASCIZ	/ .FETCH/
C5:	.ASCIZ	/?/
C6:	.ASCIZ	/ /
C7:	.ASCIZ	/ /
C10:	.ASCIZ	.ASCIZ	/  /
C11:	.ASCIZ	/  EMT/
C14:	.ASCIZ  / /
	.EVEN
AREA:	.BLKW	4
FILE:	.RAD50	/PR /
	.WORD	0,0,0
.END START
 
       5.3.21. .HRESET
         .HRESET      -
          
   .SRESET.   SJ  .HRESET    -
      -  ,    
    .HRESET.    - -
   .
         :
        .HRESET
          .HRESET .      
   .CDFN.
 
       5.3.22. .INTEN
         .INTEN       
            
   :
        1)    ,   ;
        2)     -
    .
                
   7- .  .INTEN     
     ,      -
    .
         :
        .INTEN PRIOR[,PIC]
    PRIOR  -    ,    
         ;
     ,       
   ;
        PIC -   ;      ,
         -
   - ;    -
    (  ),          
   .
 
       5.3.23. .LOCK,.UNLOCK
         .LOCK  USR        
    .   ,   
   ,    (   ,  
   USR   )        
       USR     .  
      USR,      
     .  .LOCK   USR 
   ,    . USR      
    ,      .UNLOCK. ,  
     FB,  CSI      -
    .UNLOCK.
          FB   .LOCK      
    USR.   .LOCK    
    .UNLOCK   USR.
         .LOCK  .UNLOCK    , -
   ,    (..,     -
    .LOCK,    ,   ,  
   .UNLOCK,    USR       -
   ).   .UNLOCK   .LOCK,   
   .
         : .LOCK
        :
        1. ,    .LOCK  -
      ,    USR.  
   ,       .LOCK    
      ,  USR.
        2.   .LOCK     
     

        3.    
   ,    USR.  
    ,       .LOCK    
       ,  USR.
         2.   .LOCK     
 ,  .UNLOCK   .
/j!> 8 ?:
0
#/  .UNLOSK# 
 : 
  
 '    0 /!! " #& ,   -
!
*  ?    2$ 555471>00-1 3?=
  -
      ,    USR.  
   ,       .LOCK    
      ,  USR.
        2.   .LOCK       
    .UNLOCK   .
  .
 
          .TITLE  LOCK.MAC
  ;   .LOCK,.UNLOCK
          .MCALL  .LOCK,.UNLOCK,.LOOKUP,.SETTOP,.PRINT,.EXIT
          SYSPTR=54               ;   RMON
  START:  .SETTOP @#SYSPTR        ;  
                                  ;
          .LOCK                   ; USR  
          .LOOKUP #AREA,#0,#FILE1 ;   0- 
          BCC     1$
  2$:     .PRINT  #LMSG
          .EXIT
  1$:     .PRINT  #F1FND
          MOV     #AREA,R0
          INC     @R0             ;  = 1
          MOV     #FILE2,2(R0)
          .LOOKUP                 ;   1- 
          BCS     2$
          .PRINT  #F2FND
          .UNLOCK                 ; USR  
          .EXIT
 
  AREA:   .BLKW   3
  FILE1:  .RAD50  /DK /
          .RAD50  /PIP   /
          .RAD50  /SAV/
  FILE2:  .RAD50  /DK /
          .RAD50  /DIR   /
          .RAD50  /SAV/
  LMSG:   .ASCIZ  / .LOOKUP/
  F1FND:  .ASCIZ  / PIP.SAV   0- /
  F2FND:  .ASCIZ  / DIR.SAV   1- /
          .EVEN
 
          .END    START
 
 
       5.3.24. .MFPS, .MTPS
         .MFPS  .MTPS    .  -
    .MFPS    .
         :
        .MFPS ADDR
    ADDR - ,      ;
      ,     -
    .
         :
        .MTPS ADDR
    ADDR -  ,     ;  
     ,       .
  .
          .TITLE  MFPS.MAC
  ;  ,    .MFPS,.MTPS,
  ;   , 
  ;    .
 
          .MCALL  .MFPS,.MTPS,.EXIT,.PRINT,.TTINR
 
          JSW = 44        ;  
          TTSPC$ = 10000  ;   
 
  START:                          ; 
          BIS     #TTSPC$,@#JSW   ; 12   JSW
          ;       .
          ;       .
          CALL    GETQUE          ; 
 
          BCC     1$
          .PRINT  #NOELEM
          BIC     #TTSPC$,@#JSW
          .EXIT
 
  1$:     NOP                     ; 
          NOP                     ;
          .PRINT  #GOT1
  2$:     .TTINR
          BCS     2$
          BR      START
 
  GETQUE: MOV     #QHEAD,R4
          TST     @R4
          BEQ     11$
          .MFPS                   ;   
          .MTPS   #340            ;  = 7
          MOV     @R4,R5          ;  
                                  ;
          MOV     @R5,@R4
          .MTPS                   ; 
                                  ;
          TST     (PC)+
  11$:    SEC
          RETURN
 
  QHEAD:  .WORD   Q1
  Q1:     .WORD   Q2,0,0
  Q2:     .WORD   Q3,0,0
  Q3:     .WORD   0,0,0
 
  NOELEM: .ASCIZ  /    /
  GOT1:   .ASCII  /   -   /
          .ASCIZ  /  /
          .EVEN
 
          .END    START
 
       5.3.25. .MRKT
         .MRKT     
      .
         .MRKT         
     -.   -
      ,       -
         .CMKT.
         :
        .MRKT AREA,TIME,CRTN,ID
    AREA -    4-   ;
        TIME -    2- ,    
    ; 
	CRTN -    ;
        ID - ,       
       .CMKT;    -
        177400  177777;   
 
          : 
          AREA:   .BYTE   0,22
                  .WORD   TIME
                  .WORD   CRTN
                  .WORD   ID
  .
 
          .TITLE  TREAD.MAC
          AREA:   .BYTE   0,22
                  .WORD   TIME
                  .WORD   CRTN
                  .WORD   ID
 
 
  .
 
          .TITLE  TREAD.MAC
  ; R0
          BEQ     1$
          .PRINT
  1$:     CLR     TBYT
          .MRKT   #TAREA,#TIME,#TOUT,#1; 
                                      ;  
                                      ;
          BIS     #TCBIT$,@#JSW
          CLRB    @R1
  TTIN:   .TWAIT  #AREA
          .TTINR
          BIT     #1,(PC)+
  TBYT:   .WORD   0
          BNE     2$
          BCS     TTIN
          MOVB    R0,(R1)+
          .CMKT   #TAREA,#0       ; .MRKT
  2$:     BIS     #TTSPC$,@#JSW
  3$:     .TTINR
          MOVB    R0,(R1)+
          BCC     3$
          CLRB    -(R1)
          BIC     #TCBIT$!TTSPC$,@#JSW
          ROR     TBYT
          RETURN
  TOUT:   INC     TBYT
          RETURN
  XQUE:   .BLKW   10.
  AREA:   .WORD   0,WAIT
  TAREA:  .BLKW   4
  TIME:   .WORD   0,500.
  WAIT:   .WORD   0,1
  LINE:   .ASCII  /     /
  BUFF:   .BLKB   81.
  PROMT:  .ASCIZ  /  :   / <200>
  TIMOUT: .ASCIZ  /    /
          .END START
 
       5.3.26. .MTATCH
         .MTATCH       -
    .        
          -
    .
         :
        .MTATCH AREA,ADDR,UNIT
    AREA -    3-   ;
        ADDR -        
    0;
        UNIT -   .
          :
          AREA:   .BYTE   5,37
                  .WORD   ADDR
                  .BYTE   UNIT,0
 
       5.3.27. .MTDTCH
         .MTDTCH      
                
   .        ,  
      ,   .
         :
        .MTDTCH AREA,UNIT
    AREA -    3-   ;
        UNIT -   .
          :
          AREA:   .BYTE   6,37
                  .WORD   < >
                  .BYTE   UNIT
 
       5.3.28. .MTSET
         .MTSET    -
   .     -   -
    .
         :
        .MTSET AREA,ADDR,UNIT
    AREA -    3-   ;
        ADDR -    4-      
   ;
        UNIT -   .
          :
          AREA:   .BYTE   0,37
                  .WORD   ADDR
                  .BYTE   UNIT
 
         . 6      -
   ,   .   
      .15.

                     -------------------------------
                     !         M.TSTS              !
                     !-----------------------------!
                     !         M.TST2              !
                     !-----------------------------!
                     !         M.TST3              !
                     !-----------------------------!
                     !  M.TSTW      !    M.TWID    !
                     -------------------------------
 
          . 6.     
 
 
                                                    15
    ----------------------------------------------------------
    !       !                             !
    !--------------------------------------------------------!
    !  M.TSTS          !           !
    !  M.TSTS2         !                       ! 
    !
    !                  !                    !
    !--------------------------------------------------------!
    !  M.TSTS          !           !
   M.TSS.16/
 
                                                    . 16
    -----------------------------------------------------------
    !  !    !                         !
    !----------------------------------------------------------
    !  M.TSTS          !           !
    !   0    !      1       !              !
    !   1    !      2       !       !
    !        !              !  ,  -  !
    !        !              !         !
    !        !              !   M.TWID          !
    !   2    !      4       !         !
    !   3    !     10       !   /F  /   !
    !  4,5   !      -       !                        !
    !   6    !    100       !      !
    !        !              !  ( 6-   !
    !        !              !   );  TCBIT    !
    !  7-11  !      -       !                        !
    !  12    !   10000      !    (-!
    !        !              !      !
    !        !              !   );  TTSPC     !
    !  13    !      -       !                        !
    !  14    !   40000      !    !
    !        !              !     - !
    !        !              !       !
    -----------------------------------------------------------
 
         .17     M.TSTW.
 
                                                    17
    -----------------------------------------------------------
    !  !    !                         !
    !----------------------------------------------------------
    !  10    !    2000      !     !
    !        !              !                !
    !  11    !    4000      !                !
    !  14    !   40000      !    /      !
    !  15    !  100000      !                !
!
    -----------------------------------------------------------
 
 
       5.3.29. .MTGET
 
         .MTGET    
,  

    -----------------------------------------------------------
    !    !                $                      !
    !      !                          

    !        0        !   . !
    !                 !   ,    .MTSET        !
    !       2-4       !                              !
    !        6        !                            !
    !        7        !                 !
    -----------------------------------------------------------
 
         :
        .MTGET AREA,ADDR,UNIT
    AREA -    3-   ;
        ADDR -      4- ;
        UNIT -   ,    -
      .
          :
          AREA:   .BYTE   1,37
                  .WORD   ADDR
                  .BYTE   UNIT

       5.3.30. .MTSTAT
         .MTSTAT     
    .
         :
        .MTSTAT AREA,ADDR
    AREA -  3-   ;
        ADDR -  8-  ,  
       (.  .MTGET).
          :
          AREA:   .BYTE   10,37
                  .WORD   ADDR
                  .WORD   0
 
       5.3.31. .MTRCTD
         .MTRCTD    -
    .RCTRLD.    /D        
    .
         :
        .MTRCTD AREA,UNIT  AREA -       3-  
    ;
        UNIT -   .
          :
          AREA:   .BYTE   4,37
                  .WORD   < >
                  .BYTE   UNIT
 
       5.3.32. .MWAIT ( FB,XM)
         .MWAIT       
     ,         -
   .       
      .  .MWAIT -
         .RCVD  .SDAT,  
           
     ().
         :
        .MWAIT
  .
 
  ;     .MWAIT.
  ;    : , 
  ; ,   , 
  ;  .
 
          .TITLE  MWAITF.MAC
 
  ;  ...
 
          .MCALL  .MWAIT,.RCVD,.PRINT,.EXIT
 
  START:  .RCVD   #AREA,#MBUFF,#40. ; 
          ;       .
          ;       .
          ;       .
          .PRINT  #FGJOB
          ;       .
          ;       .
          ;       .
          .MWAIT          ; 
          TST     MBUFF+2 ; ?
          BEQ     FEXIT   ;  - 
                          ; 
          .PRINT  #FMSG
          .PRINT  #MBUFF+2; 
                          ;
          BR      START
 
  FEXIT:  .EXIT
  AREA:   .BLKW   5
  MBUFF:  .BLKW   41.
          .WORD   0
  FGJOB:  .ASCIZ  /     /
  FMSG:   .ASCIZ  / :/
          .EVEN
 
          .END START
 
  ;  ...
 
          .TITLE  MWAITB.MAC
 
          .MCALL  .MWAIT,.SDAT,.GTLIN,.PRINT,.EXIT
 
  START:  CLR     BUFF
          .GTLIN  #BUFF,#PROMPT   ; 
          .SDAT   #AREA,#BUFF,#40.; 
          BCS     1$
          .MWAIT
          TST     BUFF
          BNE     START
          .EXIT
  1$:     .PRINT  #NOFG
          .EXIT
 
  AREA:   .BLKW   5
  BUFF:   .BLKW   40.
  PROMPT: .ASCII  /    /
          .BYTE   15,12,200
  NOFG:   .ASCIZ  /  /
          .EVEN
 
          .END    START
 
 
       5.3.33. .PEEK,.POKE
         .PEEK    R0   
     ( 28 )     
    - .
         .POKE    .  
        R0.
         :
        .PEEK AREA,ADDR
    AREA -    2-   ;
        ADDR -   .
          :
          AREA:   .BYTE   1,34
                  .WORD   ADDR
 
         :
        .POKE AREA,ADDR,VALUE
    AREA -    3-   ;
        ADDR -   ;
        VALUE -    .
          :
          AREA:   .BYTE   3,34
                  .WORD   ADDR
                  .WORD   VALUE
  .
 
  ;    .PEEK,.POKE 
  ;     , 
  ;   .ENTER.
 
          .MCALL  .PEEK,.POKE,.EXIT
 
          RMON   = 54
          MAXBLK = 314
 
  START:  .PEEK   #EMTBLK,#RMON   ;  
                                  ;RMON
          ADD     #MAXBLK,R0      ;  
          MOV     R0,R1
          .POKE   #EMTBLK,R1,#NEWSIZ ; 
                                     ; 
          MOV     R0,OLDSIZ
          .EXIT
 
  EMTBLK: .BLKW   3
  NEWSIZ: .WORD   100.
  OLDSIZ: .WORD   0               ;  
 
          .END    START
 
 
       5.3.34. .PROTECT,.UNPROTECT ( FB,XM)
         .PROTECT     -
           0-476
      .
          .PROTECT  ,    
    ,        
                
             
      .
         :
        .PROTECT AREA,ADDR
    AREA -    3-   ;
        ADDR -  ,     -
    ; ADDR       476.
          :
          AREA:   .BYTE   0,31
                  .WORD   ADDR
         .UNPROTECT      
   .PROTECT.
         :
        .UNPROTECT AREA,ADDR
    AREA -    2-   ;
        ADDR -  ,    .
          :
          AREA:   .BYTE   1,31
                  .WORD   ADDR
  .
          .TITLE  PROTECT.MAC
  ;   ,    
  ;,     .
 
          .MCALL  .PROTECT,.UNPROTECT,.PRINT,.EXIT
 
  START:  .PROTECT   #AREA,#300
          BCS        1$
          .UNPROTECT #AREA,#300
          .EXIT
  1$:     .PRINT     #NOVEC
          .EXIT
  AREA:   .BLKW      3
  NOVEC:  .ASCIZ     /   !/
          .END       START
 
         5.3.35. .QSET
          -    
         .
       (,  .WRITE)  -
         .  
     -     -
   ,       
     ,     .   FB,
       ,      -
     .
         .QSET   ,   -
      -.    
    ,        
      ,      -
   ,        
   .
         .MRKT,.TWAIT  .SDAT     
               
       .  , 
    .QSET,   ,   -
         ,  
   7  ( 10      XM)        
     -   .
         .QSET      -
    .  ,       -
    ,      .QSET,  
     .    -
       -      
      .    .SRESET    .HRESET
      .QSET.
                 
      .  - 
    .  ,   
       ,   
     .      -
         ,      
    ,    USR.
               
   :
   .TWAIT     .READW     .WRITE    .SDAT      .SDATW
   .MRKT      .RCVD      .WRITC    .READC     .SDATC
   .READ      .RCVDC     .WRITW    .RCVDW
         :
        .QSET ADDR,LEN
    ADDR -         
   -;
        LEN -     -.
            .QSET  .       
   .TWAIT.
 
       5.3.36. .RCTRLD
         .RCTRLD    -
     .  /D        
    ,         /D    
        .RCTRLD. .. , 
         ,  
            
   /D.
         :
        .RCTRLD
  .
          .TITLE  RCTRLD.MAC
          .MCALL  .RCTRLD,.CSIGEN,.EXIT
  START:  .RCTRLD
          .CSIGEN #DSPACE,#DEXT,#0
 
  ;               .
  ;               .
  ;               .
          JMP     START
 
  DEXT:   .WORD   0,0,0,0
  DSPACE  = .
 
          .END    START
 
       5.3.37. .SPND,.RSUM ( FB,XM)
         .SPND     -
              
    (  -   .MRKT).
         :
        .SPND
         .RSUM       
     .
 
         :
        .RSUM
        :
        1.       
     .         .SPND  
     .RSUM.      -
   ,       .
   ,  .RSUM    .SPND,  
     .
        2.      .SPND
    .RSUM.
        3.  .SPND        
    ,     -
   .           .SPND,
             
     .SPND,          
           
     .RSUM.
        4. .SPND  .RSUM      ,    
       ,  -
     ,          .INTEN  
   .SYNCH.  ,   .SPND  .RSUM    -
    ,      .
 
       5.3.38. .SCCA
         .SCCA   :
        -    /;
        -   ,       -
    /;
          .SCCA  /   
         .
         :
        .SCCA AREA,ADDR
    AREA -    2-   ;
        ADDR -    .
               -
       /.     15-  -
   ,   ,          
      /.       -
    .
          ADDR      .SCCA,  
       /.
          :
          AREA:   .BYTE   0,35
                  .WORD   ADDR
  .
          .TITLE  SCCA.MAC
          .MCALL  .SCCA,.TTYIN,.TTYOUT,.PRINT
          JSW    = 44
    CLR     (R1)
          .PRINT  #MSG1
 
  1$:     TST     (R1)
          BNE     2$
          .TTYIN
          .TTYOUT
          BV      1$
  2$:     .PRINT  #MSG2
          .SCCA   #AREA,#0
          CR      .
  SCCA:   .BLKW   1
  AREA:   .BLKW   2
 MSG1:   .ASCII  /   .SCCA/<
    CLR     (R1)
          .PRINT  #MSG1
 
 
  1$:     TST     (R1)
          BNE     2$
          .TTYIN
          .TTYOUT
          .
 
         :
        .SDTTM AREA,ADDR
    AREA -      2- ;
        ADDR -    3- ,    
   .
          :
          AREA:   .BYTE   0,40
                  .WORD   ADDR
 
                 
     (.    .DATE).      
    -1,    .    
       (    
   ).         
   ,      .
                -
    ,  .
  .
          .TITLE  SDTTM.MAC
  ;     
  ; ( 1 )    .
 
          .MCALL  .SDTTM,.PRINT,.GTIM,.EXIT
          .GLOBL  STD,DALITE
 
  STD:    COM     HR
          NEG     HR+2
 
  DALITE:: .GTIM  #AREA,#TIME     ;  
          CALL    JADD
          .SDTTM  #AREA,#NEWDT    ;  
          .GTIM   #AREA,#TIME     ;  
          RETURN
 
  NEWDT:  .WORD   -1              ;  
  TIME:   .WORD   0,0
  HR:     .WORD   2               ;1   
          .WORD   137440          ;
  AREA:   .WORD   0,0
  JADD:
          MOV     #HR,R4
          MOV     #AREA,R3
          MOV     #HR,R1
          MOV     -(R4),R2
          ADD     -(R3),R2
          MOV     -(R4),R5
          ADC     R5
          ADD     -(R3),R5
          MOV     R2,-(R1)
          MOV     R5,-(R1)
          RETURN
          .END
 
       5.3.40. .SETTOP
         .SETTOP     -
          .  -
    ,         
    USR. ,          
     USR,     USR    .  
   .SETTOP        
    USR       SET USR  NOSWAP,
      USR.
          .SETTOP, R0   50  
    ,    -
        .    -
     .SETTOP       ,
       ,    -
        .
         :
        .SETTOP ADDR
    ADDR -     .
           .SETTOP  .      
   .LOCK.
 
       5.3.41. .SPCPS ( FB,)
         .SPCPS       
         PS    -
       .
         :
        .SPCPS AREA,ADDR
    AREA -      2- ;
        ADDR -    3- ,   -
    ,       PS -
     1-, 2-  3- .
            PS        
     ,    1- .
          :
          AREA:   .BYTE   0,41
                  .WORD   ADDR
  .
          .TITLE  SPCPS.MAC
  ;   .SPCPS.
 
          .MCALL  .READC,.WRITC,.CSIGEN,.PRINT,.SPCPS
          .MCALL  .CLOSE,.WAIT,.SRESET,.EXIT
 
          ERRBYT  = 52
          .ENABL  LSB
 
  START:  .CSIGEN #DSPACE,#DEFEXT ;  
          CALL    IOXFER          
          .PRINT  #MES
  1$:     DEC     R5
          BR      1$
  FINI:   .CLOSE  #0              ;>0-  
          MOV     #DONE,R0
          BR      EXIT
  WERR:   MOV     #WRERR,R0
          BR      EXIT
  RERR:   MOV     #RDERR,R0
  EXIT:   .PRINT
          .SRESET                 ; 
                                  ;
          .EXIT
 
  WRDONE: .WAIT   #0
          BCS     3$
  IOXFER: .READC  #AREA,#3,,,#6$  ; 
          BCC     5$
          TSTB    @#ERRBYT        ; ?
          BEQ     4$              ;
  2$:     MOV     #RERR,SBLOK
          BR      4$
  3$:     MOV     #WERR,SBLOK
  4$:     TSTB    SPCALL
          BNE     5$
          .SPCPS  #AREA,#SBLOK
          INCB    SPCALL
          BCS     7$
  5$:     RETURN
  6$:     .WAIT   #3
          BCS     2$
          .WRITC  #AREA,#0,,,#WRDONE; 
          BCS     3$
          INC     BLOK
          RETURN
  7$:     .PRINT  #SPERR
          RETURN
 
  AREA:   .WORD   0       ;  
  BLOK:   .WORD   0       ; 
          .WORD   BUFF    ; 
          .WORD   256.    ; 
          .WORD   0       ;  
  SBLOK:  .WORD   FINI,0,0
 
  BUFF:   .BLKW   256.
  DEFEXT: .WORD   0,0,0,0
  SPCALL: .BYTE   0
          .NLIST  BEX
  DONE:   .ASCIZ  / /
  MES:    .ASCIZ  /  /
  WRERR:  .ASCIZ  / .WRITC/
  RDERR:  .ASCIZ  / .READC/
  SPERR:  .ASCIZ  / .SPCPS/
          .EVEN
  DSPACE  =.
          
          .END    START
 
       5.3.42. .SFDAT
         .SFDAT      -
           (  -
       ).
         :
        .SFDAT AREA,CHAN,DBLK,DATE
    AREA -      3- ;
        CHAN -  ;
        DBLK -    4- ,  
   ;
        DATE -  ,       (
    RT11);      ,    
    .
          :
          AREA:   .BYTE   CHAN,42
                  .WORD   DBLK
                  .WORD   DATE
            .SFDAT  .      
   .FPROT.
 
       5.3.43. .SFPA
         .SFPA  ,    -
      ,      
      .    -
              ,
               
     .
         :
        .SFPA AREA,ADDR
    AREA -    2-   ;
        ADDR -      .
              
   ,    .SFPA, ..    -
            .
      ,    -
          .
          ,       STST
   -(SP). ,   RTI,  
        .
          :
          AREA:   .BYTE   0,30
                  .WORD   ADDR
 
       5.3.44. .SRESET
         .SRESET   :
        1)      ,    
      .FETCH; ,   
     LOAD,  ,      
    ;
        2)       (, -
     .ENTER,    );
        3)    - (16 (-
   )); ,   .CDFN, ;
        4)   - ( -
    ); QSET     -
      ;
        5)    .
         :
        .SRESET
           .SRESET  .      
   .READ.
 
       5.3.45. .SYNCH
         .SYNCH      -
      .  .SYNCH  
            
   .
         :
        .SYNCH AREA[,PIC]
    AREA -    7- ;     
    .SYNCH;     -
    (. .19); PIC -   ,  
     .SYNCH   PIC -  
      .
 
                                                    19
    ----------------------------------------------------------
    !        !                                !
    !--------------------------------------------------------!
    !     1       !   ;  - !
    !             !       !
    !     2       !    (0  2);   !
    !             !      .GTJB     !
    !    3,4      !                            !
    !     5       !  R0;        !
    !             ! .SYNCH  R0      !
    !             !                                  !
    !     6       ! -1                                       !
    !     7       !  0                                       !
    ----------------------------------------------------------
 
        .    .INTEN  .SYNCH
       .
 
       5.3.46. .TLOCK
         .TLOCK   ,  -
       FB,         USR
   ,   USR    -
    .  USR   ,    
    .TLOCK   -,   
    ,    .
         :
        .TLOCK
  .
          .TITLE  TLOCK.MAC
  ;   .TLOCK.
          .MCALL  .TLOCK,.UNLOCK,.LOOKUP,.PRINT,.EXIT
  START:  .TLOCK                  ;USR ?
          BCS     SUSPND          ;
          .LOOKUP #AREA,#4,#FILE  ; 
          BCS     LKERR
 
          .PRINT  #J1MSG
          .UNLOCK                 ; USR
          TSTB    J2SW
          BNE     1$
          CALL    JOB2
  1$:     .EXIT
 
  SUSPND: TSTB    J2SW
          BNE     START
          JSR     PC,JOB2
          INC     J2SW
          BR      START
 
  AREA:   .BLKW   5
  FILE:   .RAD50  /DK /
          .RAD50  /FILE  /
          .RAD50  /TMP/
  LKERR:  .PRINT  #LKMSG
          .EXIT
  LKMSG:  .ASCIZ  /  /
  J1MSG:  .ASCIZ  /  1/
  J2MSG:  .ASCIZ  /  2/
  J2SW:   .BYTE   0
          .EVEN
  JOB2:   .PRINT  #J2MSG
          RTS     PC
 
          .END    START
 
       5.3.47. .TRPSET
         .TRPSET    
      4-  10- .   -
          ,  -
    :  -  -      4
   ;  - -  10 .    
          -
      RTI.
               4-
   ,      .TRPSET   
     ?MON-F-STACK OVERFLOW  SJ 
   ?MON-F-TRAP TO 4  FB  XM.
 
         :
        .TRPSET AREA,ADDR
    AREA -    2-   ;
        ADDR -     ;  
   ADDR=0,   .TRPSET .
          :
          AREA:   .BYTE   0,3
                  .WORD   ADDR
  .
          .TITLE  TRPSET.MAC
          .MCALL  .TRPSET,.PRINT,.EXIT
          DIVZ    =67
  START:  .TRPSET #AREA,#TRPLOC ; 
                                ;
          DIVZ                  ; 
          TST     @#166666      ; 
          .EXIT
 
  TRPLOC:                       ; 
                                ;
          BCS     1$
          .PRINT  #TRP4
          BR      2$
  1$:     .PRINT  #TRP10
          .TRPSET #AREA,#TRPLOC
  2$:     RTI
 
  AREA:   .WORD   0,0
  TRP4:   .ASCIZ  /  4 /
  TRP10:  .ASCIZ  /  10 /
          .EVEN
          
          .END    START
 
       5.3.48. .TWAIT
         .TWAIT      
       .    .TWAIT
        .
         :
        .TWAIT AREA,TIME
    AREA -    2-   ;
        TIME -    2- ,   -
        (    -    
   ,   -   ).
          :
          AREA:   .BYTE   0,24
                  .WORD   TIME
  .
          .TITLE  TWAIT.MAC
 
          .MCALL  .TWAIT,.QSET,.PRINT,.EXIT
 
  START:  CALL    TASK
  1$:     .TWAIT  #AREA,#TIME
          BCS     NOQ
          CALL    TASK
          DEC     COUNT
          BNE     1$
          .PRINT  #EXIT
          .EXIT
 
  TASK:
          INC     TCNT
          BIT     #1,TCNT
          BEQ     1$
          .PRINT  #TIK
          RETURN
  1$:     .PRINT  #TAK
          RETURN
 
  NOQ:    .PRINT  #QERR
          .EXIT
  AREA:   .WORD   0,0
  TIME:   .WORD   0,50.*2
  COUNT:  .WORD   7
  TCNT:   .WORD   0
  TIK:    .ASCII  / - /<200>
  TAK:    .ASCIZ  //
  EXIT:   .ASCIZ  / /
  QERR:   .ASCIZ  /  /
          .EVEN
 
          .END    START
 
       5.3.49. .WAIT
         .WAIT     
    ,     -    -
    .       
     :      
     ,  -.
          FB(XM)   .WAIT,      -
           
      ,   .
         :
        .WAIT CHAN
           .WAIT  .      
   .READ.
 
                          6. 
       [3].
 
                                                1
 
                   
               
   ,   .
 
                                                       
    -----------------------------------------------------------
    !      !     !                      !
    !            !  !                                   !
    !---------------------------------------------------------!
    ! .CDFN      !   0    !      !
    !            !        ! ,           !
    ! .CHCOPY    !   0    !       !
    !            !        !  (OCHAN)             !
    !            !   1    !  (CHAN)                 !
    ! .CLOSE     !   3    !         !
    !            !        !                      !
    ! .CMKT      !   0    !    ID (ID=0)      !
    !            !        !                       !
    ! .CNTXSW    !   0    !      - !
    !            !        !                         !
    ! .CSIGEN    !   0    !                !
    !            !   1    !           !
    !            !        !                    !
    !            !   2    !    ,  !
    !            !        !                     !
    !            !   3    !     .ENTER    !
    !            !        !  -        !
    !            !        !              !
    !            !   4    !             !
    !            !        !  .LOOKUP                !
    ! .CSISPC    !   0    !                !
    !            !   1    !             !
    ! .CSTAT     !   0    !                      !
    ! .DELETE    !   0    !                !
    !            !   1    !           !
    !            !        !                         !
    !            !   2    !               !
    !            !   3    !                     !
    ! .DSTATUS   !   0    !       !
    !            !        !                            !
    ! .ENTER     !   0    !                !
    !            !   1    !       !
    !            !        !     (LEN=);  !
    !            !        !    - !
    !            !        !                     !
    !            !   3    !         !
    !            !        !                      !
    ! .FETCH     !   0    !      !
    !            !        !    -  !
    !            !        !                  !
    ! .RELEAS    !   0    !          !
    ! .FPROT     !   0    !                !
    !            !   1    !                       !
    !            !   2    !               !
    !            !   3    !      !
    !            !        ! "PROT"                            !
    ! .GTJB      !   0    !                         !
    ! .GVAL      !   0    !    - !
    ! .PVAL      !        !                                   !
    !            !        !    RMON            !
    ! .LOOKUP    !   0    !   .  !
    ! .MRKT      !   0    !       !
    ! .MTATCH    !   2    !                  !
    !            !   3    !      !
    !            !   4    !     !
    !            !        !                           !
    !            !   5    !    !
    !            !        !    ( -!
    !            !        !  XM)                          !
    ! .MTDTCH    !   1    !    -!
    !            !        ! ;     -!
    !            !        !                               !
    !            !   2    !                  !
    !            !   3    !      !
    ! .MTGET     !   1    !   ; -!
    !            !        !             !
    !            !   2    !                   !
    !            !   3    !      !
    !            !   4    !      !
    !            !   5    !        !
    !            !        !     !
    ! .MTIN      !   0    !            !
    !            !   1    !   ; -!
    !            !        !             !
    !            !   2    !                  !
    !            !   3    !      !
    !            !   5    !        !
    !            !        ! (  XM)                     !
    ! .MTOUT     !   0    !      - !
    !            !        !                               !
    !            !   1    !   , -!
    !            !        !             !
    !            !   2    !                  !
    !            !   3    !      !
    !            !   5    !        !
    ! .MTPRNT    !   1    !   ; -!
    !            !        !             !
    !            !   2    !                  !
    !            !   3    !      !
    !            !   5    !        !
    !            !        !                             !
    ! .MTRCTD    !   1    !   ; -!
    !            !        !             !
    !            !   2    !                  !
    !            !   3    !      !
    ! .MTSET     !   1    !   ; -!
    !            !        !             !
    !            !   2    !                  !
    !            !   3    !      !
    !            !   5    !        !
    ! .MTSTAT    !   3    !      !
    !            !   5    !        !
    ! .PROTECT   !   0    !     !
    !            !   1    !    474     !
    !            !        !                      !
    ! .UNPROTECT !   1    !    474     !
    !            !        !                      !
    ! .RCVD      !   0    !    -!
    ! .RCVDC     !        !                          !
    ! .RCVDW     !        !                                   !
    ! .READ      !   0    !       !
    ! .READC     !        !                                   !
    ! .READW     !        !                                   !
    !            !   1    !           !
    !            !   2    !             !
    ! .RENAME    !   0    !                !
    !            !   1    !                       !
    !            !   2    !               !
    !            !   3    !   !
    !            !        !                              !
    ! .REOPEN    !   0    !                !
    ! .SAVESTATUS!   0    !             !
    !            !   1    !    .ENTER  -!
    !            !        !    ,     !
    !            !        ! .SAVESTATUS      !
    ! .SDAT      !   0    !    -!
    ! .SDATC     !        !                          !
    ! .SDATW     !        !                                   !
    ! .SFDAT     !   0    !                         !
    !            !        !                       !
    !            !        !      !
    ! .SPCPS     !   0    !   .SPCPS      !
    !            !        !   (   -!
    !            !        !  )                 !
    !            !   1    !  .SPCPS       !
    ! .SPFUN     !   0    !        !
    !            !        !                         !
    !            !   1    !           !
    !            !   2    !                      !
    ! .TLOCK     !   0    ! USR    - !
    !            !        !                               !
    ! .TTYIN     !   0    !             !
    ! .TTINR     !        !                                   !
    ! .TTYOUT    !   0    !              !
    ! .TTOUTR    !        !                                   !
    ! .TWAIT     !   0    !       !
    ! .WAIT      !   0    !             !
    !            !   1    !         !
    !            !        !    -!
    !            !        !  -                  !
    ! .WRITE     !   0    !       !
    ! .WRITC     !   1    !           !
    !            !   2    !                      !
    -----------------------------------------------------------
 
         :
         1.   .SYNCH       
     :
         -    .SYNCH,    
       ;
         -    ;
         -      .
                 .SYNCH
    .     .SYNCH    ,  
            -
    .
         2.   ,       ,
      .
 
                                                  2
 
                         CBLK
 
                                                    
  -----------------------------------------------------------
  !   !   !  !                   !
  !---------------------------------------------------------!
  !   1    !    0    !     1    !   !
  !(  !   1-5   !     N    ! N-   -!
  !- !         !          !   (- !
  ! - !         !          !   - !
  !)   !         !          ! ,      !
  !        !         !          !  )     !
  !        !    6    !     1    !        !
  !        !         !          !  .RENAME            !
  !        !    7    !     1    !    .ENTER;!
  !        !         !          !   -!
  !        !         !          !      !
  !        !         !          !  .CLOSE            !
  !        !  8-12   !          !   !
  !        !         !          ! (1-37()),    !
  !        !         !          !    !
  !        !         !          !               !
  !        !   13    !     1    !    !
  !        !         !          !  (EOF)                  !
  !        !   14    !     -    !             !
  !        !   15    !     1    !                 !
  !   2    !         !          !       !
  !        !         !          !   ;    !
  !        !         !          !   ,     !
  !        !         !          !  !
  !        !         !          !                  !
  !   3    !         !          !          !
  !   4    !         !          !             !
  !   5    !         !          !   -  - !
  !        !         !          !   - !
  !        !         !          !   ; !
  !        !         !          !  -        !
  !        !         !          ! ,    !
  !        !         !          !  ( 0  7)       !
  -----------------------------------------------------------
 
 
                    
 
        1.  -2
          
          
        589.7547471.00042-01 32 03

        2.  -2
          
         
        589.7547471.00042-01 33 04

        3.  -2
         
        589.7547471.00042-01 90 03

        4.  -2
         
        589.7547471.00042-01 31 01
