User Tools

Site Tools


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

Common COMCRDC

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comcrdc +++|          CTEXT  COMCRDC - READ CODED LINE, -C- FORMAT.
00002  M00S00002.comcrdc +++| RDC      SPACE  4
00003  M00S00003.comcrdc +++|          IF     -DEF,QUAL$,1
00004  M00S00004.comcrdc +++|          QUAL   COMCRDC
00005  M00S00005.comcrdc +++|          BASE   D
Line S00006 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M00S00007.comcrdc +++| RDC      SPACE  4
00009  M00S00008.comcrdc +++|***       RDC - READ CODED LINE, -C- FORMAT.
00010  M00S00009.comcrdc +++|*         G. R. MANSFIELD.  70/10/09.
00011  M00S00010.comcrdc +++| RDC      SPACE  4
00012  M00S00011.comcrdc +++|***              RDC READS 1 CODED LINE FROM A CIO BUFFER TO A
00013  M00S00012.comcrdc +++|*         WORKING BUFFER.
00014  M00S00013.comcrdc +++|*
00015  M00S00014.comcrdc +++|*         ENTRY  (X2) = ADDRESS OF FET FOR FILE.
00016  M00S00015.comcrdc +++|*                (B6) = FWA WORKING BUFFER.
00017  M00S00016.comcrdc +++|*                (B7) = WORD COUNT OF WORKING BUFFER.
00018  M00S00017.comcrdc +++|*
00019  M00S00018.comcrdc +++|*         EXIT   (X1) = 0 FOR TRANSFER COMPLETE.
00020  M00S00019.comcrdc +++|*                (X1) = -1 IF EOF DETECTED ON FILE.
00021  M00S00020.comcrdc +++|*                (X1) = -2 IF EOI DETECTED ON FILE.
00022  M00S00021.comcrdc +++|*                (X1) = (B6) IF EOR WAS DETECTED ON FILE BEFORE
00023  M00S00022.comcrdc +++|*                             TRANSFER WAS COMPLETED.
00024  M00S00023.comcrdc +++|*                (B6) = ADDRESS PLUS ONE OF LAST WORD TRANSFERRED TO
00025  M00S00024.comcrdc +++|*                             WORKING BUFFER.
00026  M00S00025.comcrdc +++|*                (X2) = ADDRESS OF FET FOR FILE.
00027  M00S00026.comcrdc +++|*                (X4) = CONTENTS OF LAST DATA WORD TRANSFERRED
00028  M00S00027.comcrdc +++|*                            BEFORE EOL GUARANTEED, IF TRANSFER
00029  M00S00028.comcrdc +++|*                            COMPLETED ((X1)=0).
00030  M00S00029.comcrdc +++|*
00031  M00S00030.comcrdc +++|*         USES   X - 1, 2, 3, 4, 6, 7.
00032  M00S00031.comcrdc +++|*                B - 1, 2, 3, 4, 5, 6, 7.
00033  M00S00032.comcrdc +++|*                A - 1, 2, 3, 4, 6, 7.
00034  M00S00033.comcrdc +++|*
00035  M00S00034.comcrdc +++|*         CALLS  LCB=, RDX=.
00036  M00S00035.comcrdc +++|
00037  M00S00036.comcrdc +++|
00038  M00S00037.comcrdc +++| +        EQ     RDC1
00039  M00S00038.comcrdc +++|
00040  M00S00039.comcrdc +++| RDC=     PS                 ENTRY/EXIT
00041  M00S00040.comcrdc +++|          SA4    *-1         SET RETURN ADDRESS
00042  M00S00041.comcrdc +++|
00043  M00S00042.comcrdc +++|          IF     -DEF,B1=1,1
00044  M00S00043.comcrdc +++|          SB1    1
00045  M00S00044.comcrdc +++|
00046  M00S00045.comcrdc +++|          SA1    X2+4        (B5) = LIMIT
00047  M00S00046.comcrdc +++|          SA3    X2+B1       (X3) = FIRST
00048  M00S00047.comcrdc +++|          SB7    B6+B7       (B7) = LWA+1 WORKING BUFFER
00049  M00S00048.comcrdc +++|          MX4    -12         (X4) = BYTE MASK
00050  M00S00049.comcrdc +++|          SB5    X1
00051  M00S00050.comcrdc +++|
00052  M00S00051.comcrdc +++|*         INITIALIZE REGISTERS FOR TRANSFER.
00053  M00S00052.comcrdc +++|
00054  M00S00053.comcrdc +++| RDC1     SA1    A3+B1       (B3) = IN
00055  M00S00054.comcrdc +++|          SA2    A1+B1       (B4) = OUT
00056  M00S00055.comcrdc +++|          SB3    X1
00057  M00S00056.comcrdc +++|          SB4    X2
00058  M00S00057.comcrdc +++|
00059  M00S00058.comcrdc +++|*         TRANSFER DATA FROM CIRCULAR BUFFER TO WORKING BUFFER.
00060  M00S00059.comcrdc +++|
00061  M00S00060.comcrdc +++| RDC2     EQ     B4,B3,=XLCB= LOAD CIRCULAR BUFFER IF OUT = IN
00062  M00S00061.comcrdc +++|          SA1    B4          READ WORD
00063  M00S00062.comcrdc +++|          BX6    X1
00064  M00S00063.comcrdc +++|          SB4    B4+B1       (OUT+1)
00065  M00S00064.comcrdc +++|          EQ     B4,B5,RDC5  IF (OUT+1) = LIMIT
00066  M00S00065.comcrdc +++|          SA6    B6          STORE WORD
00067  M00S00066.comcrdc +++| RDC3     BX7    -X4*X6      CHECK LOWER BYTE
00068  M00S00067.comcrdc +++|          SB6    B6+B1       ADVANCE WORKING BUFFER
00069  M00S00068.comcrdc +++|          ZR     X7,RDC4     IF END OF LINE ENCOUNTERED
00070  M00S00069.comcrdc +++|          NE     B6,B7,RDC2  LOOP TO FILL WORKING BUFFER
00071  M00S00070.comcrdc +++|          BX7    X4*X6       CLEAR LAST BYTE
00072  M00S00071.comcrdc +++|          SA7    A6
00073  M00S00072.comcrdc +++| RDC4     BX4    X6          RETURN LAST WORD BEFORE EOL CLEARED
00074  M00S00073.comcrdc +++|          EQ     =XRDX=      EXIT
00075  M00S00074.comcrdc +++|
00076  M00S00075.comcrdc +++| RDC5     SB4    X3          (OUT+1) = FIRST
00077  M00S00076.comcrdc +++|          SA6    B6          STORE WORD
00078  M00S00077.comcrdc +++|          EQ     RDC3        LOOP
00079  M00S00078.comcrdc +++|          SPACE  4
00080  M00S00079.comcrdc +++|          BASE   *
00081  M00S00080.comcrdc +++| QUAL$    IF     -DEF,QUAL$
00082  M00S00081.comcrdc +++|          QUAL   *
00083  M00S00082.comcrdc +++| RDC=     EQU    /COMCRDC/RDC=
00084  M00S00083.comcrdc +++| QUAL$    ENDIF
00085  M00S00084.comcrdc +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcrdc.txt ยท Last modified: (external edit)