User Tools

Site Tools


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

Common COMCRDH

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comcrdh +++|          CTEXT  COMCRDH - READ CODED LINE, -H- FORMAT.
00002  M01S00002.comcrdh +++| RDH      SPACE  4
00003  M01S00003.comcrdh +++|          IF     -DEF,QUAL$,1
00004  M01S00004.comcrdh +++|          QUAL   COMCRDH
00005  M01S00005.comcrdh +++|          BASE   D
Line S00006 Modification History
M01 (Added by) comcrdh
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M02S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M01S00007.comcrdh +++| RDH      SPACE  4
00009  M01S00008.comcrdh +++|***       RDH - READ CODED LINE, -H- FORMAT.
00010  M01S00009.comcrdh +++|*         G. R. MANSFIELD.  70/10/09.
00011  M01S00010.comcrdh +++| RDH      SPACE  4
00012  M01S00011.comcrdh +++|***              RDH READS 1 CODED LINE FROM A CIO BUFFER TO A WORKING
00013  M01S00012.comcrdh +++|*         BUFFER WITH TRAILING SPACE FILL.
00014  M01S00013.comcrdh +++|*
00015  M01S00014.comcrdh +++|*         ENTRY  (X2) = ADDRESS OF FET FOR FILE.
00016  M01S00015.comcrdh +++|*                (B6) = FWA WORKING BUFFER.
00017  M01S00016.comcrdh +++|*                (B7) = WORD COUNT OF WORKING BUFFER.
00018  M01S00017.comcrdh +++|*
00019  M01S00018.comcrdh +++|*         EXIT   (X1) = 0 FOR TRANSFER COMPLETE.
00020  M01S00019.comcrdh +++|*                (X1) = -1 IF EOF DETECTED ON FILE.
00021  M01S00020.comcrdh +++|*                (X1) = -2 IF EOI DETECTED ON FILE.
00022  M01S00021.comcrdh +++|*                (X1) = (B6) IF EOR WAS DETECTED ON FILE BEFORE
00023  M01S00022.comcrdh +++|*                             TRANSFER WAS COMPLETED.
00024  M01S00023.comcrdh +++|*                (B6) = ADDRESS PLUS ONE OF LAST WORD TRANSFERRED TO
00025  M01S00024.comcrdh +++|*                             WORKING BUFFER.
00026  M01S00025.comcrdh +++|*                (X2) = ADDRESS OF FET FOR FILE.
00027  M01S00026.comcrdh +++|*
00028  M01S00027.comcrdh +++|*         USES   X - 1, 2, 3, 4, 6, 7.
00029  M01S00028.comcrdh +++|*                B - ALL.
00030  M01S00029.comcrdh +++|*                A - 1, 2, 3, 4, 6, 7.
00031  M01S00030.comcrdh +++|*
00032  M01S00031.comcrdh +++|*         CALLS  LCB=, RDX=.
00033  M01S00032.comcrdh +++|
00034  M01S00033.comcrdh +++|
00035  M01S00034.comcrdh +++| RDH=     PS                 ENTRY/EXIT
00036  M01S00035.comcrdh +++|          SX1    B0+
00037  M01S00036.comcrdh +++|          ZR     B7,RDH=     IF NO ROOM IN WORKING BUFFER
00038  M01S00037.comcrdh +++|          SA4    RDH6        SET RETURN ADDRESS
00039  M01S00038.comcrdh +++|
00040  M01S00039.comcrdh +++|          IF     -DEF,B1=1,1
00041  M01S00040.comcrdh +++|          SB1    1
00042  M01S00041.comcrdh +++|
00043  M01S00042.comcrdh +++|          SA1    X2+4        (B5) = LIMIT
00044  M01S00043.comcrdh +++|          SA3    X2+B1       (X3) = FIRST
00045  M01S00044.comcrdh +++|          SB7    B6+B7       (B7) = LWA+1 WORKING BUFFER
00046  M01S00045.comcrdh +++|          SB5    X1+
00047  M01S00046.comcrdh +++|          BX4    X4-X4       INDICATE NO PRIOR DATA CHECK
00048  M01S00047.comcrdh +++|          SX6    B6          SAVE FWA WORKING BUFFER
00049  M01S00048.comcrdh +++|          SA6    RDHC
00050  M01S00049.comcrdh +++|
00051  M01S00050.comcrdh +++|*         INITIALIZE REGISTERS FOR TRANSFER.
00052  M01S00051.comcrdh +++|
00053  M01S00052.comcrdh +++| RDH1     SA1    A3+B1       (B3) = IN
00054  M01S00053.comcrdh +++|          SA2    A1+B1       (B4) = OUT
00055  M01S00054.comcrdh +++|          MX7    -12         (X7) = BYTE MASK
00056  M01S00055.comcrdh +++|          SB3    X1
00057  M01S00056.comcrdh +++|          SB4    X2+
00058  M01S00057.comcrdh +++|
00059  M01S00058.comcrdh +++|*         TRANSFER DATA FROM CIRCULAR BUFFER TO WORKING BUFFER.
00060  M01S00059.comcrdh +++|
00061  M01S00060.comcrdh +++| RDH2     EQ     B4,B3,=XLCB= LOAD CIRCULAR BUFFER IF OUT = IN
00062  M01S00061.comcrdh +++|          SA1    B4          READ WORD
00063  M01S00062.comcrdh +++|          SB4    B4+B1       (OUT+1)
00064  M01S00063.comcrdh +++|          BX2    -X7*X1      CHECK LAST BYTE
00065  M01S00064.comcrdh +++|          EQ     B4,B5,RDH4  IF (OUT+1) = LIMIT
00066  M01S00065.comcrdh +++|          BX6    X1
00067  M01S00066.comcrdh +++| RDH3     ZR     X2,RDH5     IF END OF LINE
00068  M01S00067.comcrdh +++|          SX4    B0+         INDICATE NO PRIOR DATA CHECK
00069  M01S00068.comcrdh +++|          EQ     B6,B7,RDH2  IF WORKING BUFFER FILLED
00070  M01S00069.comcrdh +++|          SA6    B6          STORE WORD
00071  M01S00070.comcrdh +++|          SB6    B6+B1       ADVANCE WORKING BUFFER
00072  M01S00071.comcrdh +++|          MX4    -6          CHECK PRIOR DATA FOR TRAILING BINARY ZERO
00073  M01S00072.comcrdh +++|          EQ     RDH2        LOOP
00074  M01S00073.comcrdh +++|
00075  M01S00074.comcrdh +++| RDH4     SB4    X3          (OUT+1) = FIRST
00076  M01S00075.comcrdh +++|          BX6    X1
00077  M01S00076.comcrdh +++|          EQ     RDH3
00078  M01S00077.comcrdh +++|
00079  M01S00078.comcrdh +++|*         INSERT BLANK IF LAST CHARACTER OF PREVIOUS WORD PRECEEDING
00080  M01S00079.comcrdh +++|*         ZERO WORD END OF LINE IS TRAILING BINARY ZERO CHARACTER
00081  M01S00080.comcrdh +++|*         AND LINE WAS NOT TRUNCATED.
00082  M01S00081.comcrdh +++|
00083  M01S00082.comcrdh +++| RDH5     NZ     X1,RDH5.1   IF NOT ZERO WORD END OF LINE
00084  M01S00083.comcrdh +++|          ZR     X4,RDH5.1   IF NOT TO CHECK PRIOR DATA
00085  M01S00084.comcrdh +++|          SA1    B6-B1       GET PREVIOUS WORD FROM WORKING BUFFER
00086  M01S00085.comcrdh +++|          BX2    -X4*X1
00087  M01S00086.comcrdh +++|          NZ     X2,RDH5.1   IF NOT TRAILING BINARY ZERO CHARACTER
00088  M01S00087.comcrdh +++|          SX7    1R          INSERT BLANK CHARACTER
00089  M01S00088.comcrdh +++|          BX7    X1+X7
00090  M01S00089.comcrdh +++|          SA7    A1
00091  M01S00090.comcrdh +++|
00092  M01S00091.comcrdh +++|*         SPACE FILL LAST WORD.
00093  M01S00092.comcrdh +++|
00094  M01S00093.comcrdh +++| RDH5.1   EQ     B6,B7,=XRDX=  IF WORKING BUFFER FILLED
00095  M01S00094.comcrdh +++|          SA1    RDHA        =40404040404040404040B
00096  M01S00095.comcrdh +++|          SX7    B1
00097  M01S00096.comcrdh +++|          IX7    X6-X7
00098  M01S00097.comcrdh +++|          SB2    60-5
00099  M01S00098.comcrdh +++|          BX4    -X7+X6
00100  M01S00099.comcrdh +++|          BX7    X1*X4
00101  M01S00100.comcrdh +++|          LX4    X7,B2
00102  M01S00101.comcrdh +++|          SA1    A1+B1       =1H
00103  M01S00102.comcrdh +++|          IX2    X7-X4
00104  M01S00103.comcrdh +++|          BX7    X7+X2
00105  M01S00104.comcrdh +++|          BX4    -X7*X1
00106  M01S00105.comcrdh +++|          IX6    X6+X4
00107  M01S00106.comcrdh +++|          SA6    B6
00108  M01S00107.comcrdh +++|          SB6    B6+B1
00109  M01S00108.comcrdh +++|          EQ     =XRDX=      EXIT
00110  M01S00109.comcrdh +++|
00111  M01S00110.comcrdh +++|*         SPACE FILL REMAINDER OF WORKING BUFFER.
00112  M01S00111.comcrdh +++|
00113  M01S00112.comcrdh +++| +        EQ     RDH1
00114  M01S00113.comcrdh +++|
00115  M01S00114.comcrdh +++| RDH6     EQ     B6,B7,RDH=  RETURN IF WORKING BUFFER FULL
00116  M01S00115.comcrdh +++|          SA4    RDHC        FWA OF WORKING BUFFER
00117  M01S00116.comcrdh +++|          SB2    X4
00118  M01S00117.comcrdh +++|          EQ     B6,B2,RDH=  IF WORKING BUFFER EMPTY
00119  M01S00118.comcrdh +++|          SA4    RDHB        =1H
00120  M01S00119.comcrdh +++|          BX6    X4
00121  M01S00120.comcrdh +++| RDH7     SA6    B6
00122  M01S00121.comcrdh +++|          SB6    B6+B1
00123  M01S00122.comcrdh +++|          NE     B6,B7,RDH7
00124  M01S00123.comcrdh +++|          EQ     RDH=        RETURN
00125  M01S00124.comcrdh +++|
00126  M01S00125.comcrdh +++| RDHA     CON    40404040404040404040B
00127  M01S00126.comcrdh +++| RDHB     DATA   1H
00128  M01S00127.comcrdh +++| RDHC     CON    0           FWA WORKING BUFFER
00129  M01S00128.comcrdh +++|          SPACE  4
00130  M01S00129.comcrdh +++|          BASE   *
00131  M01S00130.comcrdh +++| QUAL$    IF     -DEF,QUAL$
00132  M01S00131.comcrdh +++|          QUAL   *
00133  M01S00132.comcrdh +++| RDH=     EQU    /COMCRDH/RDH=
00134  M01S00133.comcrdh +++| QUAL$    ENDIF
00135  M01S00134.comcrdh +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcrdh.txt · Last modified: by 127.0.0.1