COMPRCB 
COMMON
          CTEXT  COMPRCB - READ CODED BUFFER. 
          IF     -DEF,QUAL$,1 
          QUAL   COMPRCB
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 RCB      SPACE  4
***       RCB - READ CODED BUFFER.
*         G. R. MANSFIELD.  09/27/69. 
 RCB      SPACE  4
***              RCB READS ONE CODED LINE FROM A CM CIRCULAR BUFFER.
*         DATA WILL BE STORED IN PP BUFFER CONTINUING TO A 0000 BYTE. 
*         UP TO 14 CM WORDS MAY BE READ, (CODED LINE TERMINATES 
*         WITH A 0000 IN BYTE 4), THE LAST 4 CHARACTERS ARE NOT 
*         STORED IN PP BUFFER.  ALL IMBEDDED 0000 BYTES ARE 
*         STORED AS 5555. 
* 
*         ENTRY  (A) = ADDRESS OF PP BUFFER.
*                (FT - FT+1) = FIRST ADDRESS OF CM BUFFER.
*                (OT - OT+1) = NEXT OUTPUT ADDRESS. 
*                (LM - LM+1) = LIMIT ADDRESS OF CM BUFFER.
* 
*         EXIT   (OT - OT+1) UPDATED. 
* 
*         USES   T1, T2, T3, CM - CM+4. 
  
  
 RCB      SUBR               ENTRY/EXIT 
          STD    T1          SET PP BUFFER ADDRESS
          ADC    104         SET BYTE LIMIT 
 RCBA     EQU    *-1         MAXIMUM NUMBER OF BYTES TO READ
          STD    T3 
 RCB1     LDD    OT          READ WORD
          SHN    6
          ADD    RA 
          SHN    6
          ADD    OT+1 
          CRD    CM 
          LDN    CM          SET BYTE ADDRESS 
          STD    T2 
          AOD    OT+1        ADVANCE OUT
          SHN    -14
          RAD    OT 
          LMD    LM 
          NJN    RCB2 
          LDD    OT+1 
          LMD    LM+1 
          NJN    RCB2        IF LIMIT NOT REACHED 
          LDD    FT          SET OUT = FIRST
          STD    OT 
          LDD    FT+1 
          STD    OT+1 
 RCB2     LDI    T2          MOVE BYTE
          STI    T1 
          AOD    T1          ADVANCE BYTE ADDRESS 
          LMD    T3 
          ZJN    RCB4        IF LINE BUFFER FULL
          AOD    T2 
          LMN    CM+5 
          NJN    RCB2        LOOP TO END OF WORD
          LDD    CM+4 
          ZJN    RCB4        IF END OF LINE 
          LDD    OT          CHECK OUT
          LMD    IN 
          SHN    14 
          ADD    OT+1 
          LMD    IN+1 
          ZJN    RCB4        IF OUT = IN
          LJM    RCB1        LOOP 
 RCB4     STI    T1          TERMINATE LINE 
          LJM    RCBX        RETURN 
          SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 RCB      EQU    /COMPRCB/RCB 
 RCBA     EQU    /COMPRCB/RCBA
 QUAL$    ENDIF 
          ENDX
