User Tools

Site Tools


cdc:nos2.source:opl.opl871:common:comprcb

Common COMPRCB

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comprcb +++|          CTEXT  COMPRCB - READ CODED BUFFER.
00002  M01S00002.comprcb +++|          IF     -DEF,QUAL$,1
00003  M01S00003.comprcb +++|          QUAL   COMPRCB
00004  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M01S00004.comprcb +++| RCB      SPACE  4
00006  M01S00005.comprcb +++|***       RCB - READ CODED BUFFER.
00007  M01S00006.comprcb +++|*         G. R. MANSFIELD.  09/27/69.
00008  M01S00007.comprcb +++| RCB      SPACE  4
00009  M01S00008.comprcb +++|***              RCB READS ONE CODED LINE FROM A CM CIRCULAR BUFFER.
00010  M01S00009.comprcb +++|*         DATA WILL BE STORED IN PP BUFFER CONTINUING TO A 0000 BYTE.
00011  M01S00010.comprcb +++|*         UP TO 14 CM WORDS MAY BE READ, (CODED LINE TERMINATES
00012  M01S00011.comprcb +++|*         WITH A 0000 IN BYTE 4), THE LAST 4 CHARACTERS ARE NOT
00013  M01S00012.comprcb +++|*         STORED IN PP BUFFER.  ALL IMBEDDED 0000 BYTES ARE
00014  M01S00013.comprcb +++|*         STORED AS 5555.
00015  M01S00014.comprcb +++|*
00016  M01S00015.comprcb +++|*         ENTRY  (A) = ADDRESS OF PP BUFFER.
00017  M01S00016.comprcb +++|*                (FT - FT+1) = FIRST ADDRESS OF CM BUFFER.
00018  M01S00017.comprcb +++|*                (OT - OT+1) = NEXT OUTPUT ADDRESS.
00019  M01S00018.comprcb +++|*                (LM - LM+1) = LIMIT ADDRESS OF CM BUFFER.
00020  M01S00019.comprcb +++|*
00021  M01S00020.comprcb +++|*         EXIT   (OT - OT+1) UPDATED.
00022  M01S00021.comprcb +++|*
00023  M01S00022.comprcb +++|*         USES   T1, T2, T3, CM - CM+4.
00024  M01S00023.comprcb +++|
00025  M01S00024.comprcb +++|
00026  M01S00025.comprcb +++| RCB      SUBR               ENTRY/EXIT
00027  M01S00026.comprcb +++|          STD    T1          SET PP BUFFER ADDRESS
00028  M01S00027.comprcb +++|          ADC    104         SET BYTE LIMIT
00029  M01S00028.comprcb +++| RCBA     EQU    *-1         MAXIMUM NUMBER OF BYTES TO READ
00030  M01S00029.comprcb +++|          STD    T3
00031  M01S00030.comprcb +++| RCB1     LDD    OT          READ WORD
00032  M01S00031.comprcb +++|          SHN    6
00033  M01S00032.comprcb +++|          ADD    RA
00034  M01S00033.comprcb +++|          SHN    6
00035  M01S00034.comprcb +++|          ADD    OT+1
00036  M01S00035.comprcb +++|          CRD    CM
00037  M01S00036.comprcb +++|          LDN    CM          SET BYTE ADDRESS
00038  M01S00037.comprcb +++|          STD    T2
00039  M01S00038.comprcb +++|          AOD    OT+1        ADVANCE OUT
00040  M01S00039.comprcb +++|          SHN    -14
00041  M01S00040.comprcb +++|          RAD    OT
00042  M01S00041.comprcb +++|          LMD    LM
00043  M01S00042.comprcb +++|          NJN    RCB2
00044  M01S00043.comprcb +++|          LDD    OT+1
00045  M01S00044.comprcb +++|          LMD    LM+1
00046  M01S00045.comprcb +++|          NJN    RCB2        IF LIMIT NOT REACHED
00047  M01S00046.comprcb +++|          LDD    FT          SET OUT = FIRST
00048  M01S00047.comprcb +++|          STD    OT
00049  M01S00048.comprcb +++|          LDD    FT+1
00050  M01S00049.comprcb +++|          STD    OT+1
00051  M01S00050.comprcb +++| RCB2     LDI    T2          MOVE BYTE
00052  M01S00051.comprcb +++|          STI    T1
00053  M01S00052.comprcb +++|          AOD    T1          ADVANCE BYTE ADDRESS
00054  M01S00053.comprcb +++|          LMD    T3
00055  M01S00054.comprcb +++|          ZJN    RCB4        IF LINE BUFFER FULL
00056  M01S00055.comprcb +++|          AOD    T2
00057  M01S00056.comprcb +++|          LMN    CM+5
00058  M01S00057.comprcb +++|          NJN    RCB2        LOOP TO END OF WORD
00059  M01S00058.comprcb +++|          LDD    CM+4
00060  M01S00059.comprcb +++|          ZJN    RCB4        IF END OF LINE
00061  M01S00060.comprcb +++|          LDD    OT          CHECK OUT
00062  M01S00061.comprcb +++|          LMD    IN
00063  M01S00062.comprcb +++|          SHN    14
00064  M01S00063.comprcb +++|          ADD    OT+1
00065  M01S00064.comprcb +++|          LMD    IN+1
00066  M01S00065.comprcb +++|          ZJN    RCB4        IF OUT = IN
00067  M01S00066.comprcb +++|          LJM    RCB1        LOOP
00068  M01S00067.comprcb +++| RCB4     STI    T1          TERMINATE LINE
00069  M01S00068.comprcb +++|          LJM    RCBX        RETURN
00070  M01S00069.comprcb +++|          SPACE  4
00071  M01S00070.comprcb +++| QUAL$    IF     -DEF,QUAL$
00072  M01S00071.comprcb +++|          QUAL   *
00073  M01S00072.comprcb +++| RCB      EQU    /COMPRCB/RCB
00074  M01S00073.comprcb +++| RCBA     EQU    /COMPRCB/RCBA
00075  M01S00074.comprcb +++| QUAL$    ENDIF
00076  M01S00075.comprcb +++|          ENDX
cdc/nos2.source/opl.opl871/common/comprcb.txt ยท Last modified: by 127.0.0.1