User Tools

Site Tools


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

Common COMCCKD

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.comcckd +++|          CTEXT  COMCCKD - COPY K-DISPLAY TO FILE.
00002  M00S00002.comcckd +++|          SPACE  4
00003  M00S00003.comcckd +++| QUAL$    IF     -DEF,QUAL$
00004  M00S00004.comcckd +++|          QUAL   COMCCKD
00005  M00S00005.comcckd +++| QUAL$    ENDIF
00006  M00S00006.comcckd +++|          BASE   D
Line S00007 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00007  M01S00007.281l803 ---|*COMMENT  COPYRIGHT CONTROL DATA CORPORATION. 1984.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00008  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00009  M00S00008.comcckd +++| COMCCKD  SPACE  4,10
00010  M00S00009.comcckd +++|***       COMCCKD - COPY K-DISPLAY TO FILE.
00011  M00S00010.comcckd +++|*
00012  M00S00011.comcckd +++|*         J. D. HOLMBECK     84/01/15.
00013  M00S00012.comcckd +++| EQUIV    SPACE  4,10
00014  M00S00013.comcckd +++|**        GENERAL EQUIVILENCES.
00015  M00S00014.comcckd +++|
00016  M00S00015.comcckd +++|
00017  M00S00016.comcckd +++| CKDC$    IF     -DEF,CDKC$
00018  M00S00017.comcckd +++| CKDC$    EQU    64          MAXIMUM NUMBER OF CHARACTERS PER LINE
00019  M00S00018.comcckd +++| CKDC$    ENDIF
00020  M00S00019.comcckd +++| CKDI$    IF     -DEF,CKDI$  Y-COORDINATE INCREMENT FOR K-DISPLAY
00021  M00S00020.comcckd +++| CKDI$    EQU    15
00022  M00S00021.comcckd +++| CKDI$    ENDIF
00023  M00S00022.comcckd +++| CKDL$    IF     -DEF,CKDL$
00024  M00S00023.comcckd +++| CKDL$    EQU    40          MAXIMUM NUMBER OF LINES PER DISPLAY
00025  M00S00024.comcckd +++| CKDL$    ENDIF
00026  M00S00025.comcckd +++| CKDW$    EQU    CKDC$/10+1  NUMBER OF WORDS PER DISPLAY LINE
00027  M00S00026.comcckd +++| CKDY$    IF     -DEF,CKDY$  Y-COORDINATE OF K-DISPLAY
00028  M00S00027.comcckd +++| CKDY$    EQU    7707B
00029  M00S00028.comcckd +++| CKDY$    ENDIF
00030  M00S00029.comcckd +++| WORKING  SPACE  4,10
00031  M00S00030.comcckd +++|**        WORKING STORAGE.
00032  M00S00031.comcckd +++|
00033  M00S00032.comcckd +++|
00034  M00S00033.comcckd +++| SPS      BSS    1           SPACE PREFIX STATUS
00035  M00S00034.comcckd +++| WSP      DATA   10H            WORD OF SPACES
00036  M00S00035.comcckd +++| CKD      SPACE  4,25
00037  M00S00036.comcckd +++|***       CKD - COPY K-DISPLAY TO FILE.
00038  M00S00037.comcckd +++|*
00039  M00S00038.comcckd +++|*         ENTRY  (B6) = FWA OF K-DISPLAY BUFFER.
00040  M00S00039.comcckd +++|*                ((B6)) - BIT 48 SET IF CODED FORMAT.
00041  M00S00040.comcckd +++|*                (B7) .NE. 0 IF PREFIX EACH LINE BY 10 SPACES.
00042  M00S00041.comcckd +++|*                (X2) = FET ADDRESS.
00043  M00S00042.comcckd +++|*                CKDP$ - IF DEFINED, IGNORE PROGRAM FORMAT.
00044  M00S00043.comcckd +++|*                CKDC$ = MAXIMUM NUMBER OF CHARACTERS PER LINE.
00045  M00S00044.comcckd +++|*                        SET TO 64 IF NOT DEFINED.
00046  M00S00045.comcckd +++|*                CKDI$ = Y-COORDINATE INCREMENT FOR K-DISPLAY.  SET TO
00047  M00S00046.comcckd +++|*                        THE KDC DEFAULT 15 IF NO DEFINED.
00048  M00S00047.comcckd +++|*                CKDY$ = Y-COORDINATE OF K-DISPLAY.  SET TO KDC DEFAULT
00049  M00S00048.comcckd +++|*                        7707B IF NOT DEFINED.
00050  M00S00049.comcckd +++|*                CKDL$ = MAXIMUM NUMBER OF LINES PER DISPLAY.
00051  M00S00050.comcckd +++|*                        SET TO 40 IF NOT DEFINED.
00052  M00S00051.comcckd +++|*                CKDS$ - IF DEFINED, DO NOT SPACE FILL COLONS.
00053  M00S00052.comcckd +++|*
00054  M00S00053.comcckd +++|*         EXIT   K-DISPLAY COPIED TO FET BUFFER.
00055  M00S00054.comcckd +++|*
00056  M00S00055.comcckd +++|*         USES   A - 1, 2, 6.
00057  M00S00056.comcckd +++|*                X - 1, 2, 6.
00058  M00S00057.comcckd +++|*
00059  M00S00058.comcckd +++|*         CALLS  CCK, CPK.
00060  M00S00059.comcckd +++|*
00061  M00S00060.comcckd +++|*         XREF   COMCMAC, COMCMBS, COMCSFN, COMCWTH, COMCWTW, COMCZTB.
00062  M00S00061.comcckd +++|
00063  M00S00062.comcckd +++|
00064  M00S00063.comcckd +++| CKD      SUBR               ENTRY/EXIT
00065  M00S00064.comcckd +++|          SX6    B7          SAVE SPACE PREFIX STATUS
00066  M00S00065.comcckd +++|          SA6    SPS
00067  M00S00066.comcckd +++| CKDP$    IF     -DEF,CKDP$
00068  M00S00067.comcckd +++|          SA1    B6          CHECK FOR CODED FLAG
00069  M00S00068.comcckd +++|          LX1    59-48
00070  M00S00069.comcckd +++| CKDP$    ENDIF
00071  M00S00070.comcckd +++|          SB6    B6+B1
00072  M00S00071.comcckd +++| CKDP$    IF     -DEF,CKDP$
00073  M00S00072.comcckd +++|          NG     X1,CKD1     IF CODED FORMAT
00074  M00S00073.comcckd +++|          BX6    X2          SAVE FET ADDRESS
00075  M00S00074.comcckd +++|          SA6    CKDA
00076  M00S00075.comcckd +++|          RJ     CPK         COPY PROGRAM FORMAT K-DISPLAY TO FILE
00077  M00S00076.comcckd +++|          SA2    CKDA        GET FET ADDRESS
00078  M00S00077.comcckd +++| CKDP$    ENDIF
00079  M00S00078.comcckd +++| CKD1     RJ     CCK         COPY CODED FORMAT K-DISPLAY TO FILE
00080  M00S00079.comcckd +++|          EQ     CKDX        RETURN
00081  M00S00080.comcckd +++|
00082  M00S00081.comcckd +++| CKDA     BSS    1           FET ADDRESS
00083  M00S00082.comcckd +++| CCK      SPACE  4,15
00084  M00S00083.comcckd +++|**        CCK - COPY CODED FORMAT K-DISPLAY.
00085  M00S00084.comcckd +++|*
00086  M00S00085.comcckd +++|*         ENTRY  (B6) = FWA OF K-DISPLAY BUFFER.
00087  M00S00086.comcckd +++|*                (X2) = FET ADDRESS.
00088  M00S00087.comcckd +++|*
00089  M00S00088.comcckd +++|*         EXIT   K-DISPLAY IMAGE COPIED TO FET BUFFER.
00090  M00S00089.comcckd +++|*
00091  M00S00090.comcckd +++|*         USES   A - 1, 6.
00092  M00S00091.comcckd +++|*                B - 6.
00093  M00S00092.comcckd +++|*                X - 0, 1, 6.
00094  M00S00093.comcckd +++|*
00095  M00S00094.comcckd +++|*         CALLS  CWL.
00096  M00S00095.comcckd +++|*
00097  M00S00096.comcckd +++|*         MACROS WRITEH, WRITEW.
00098  M00S00097.comcckd +++|
00099  M00S00098.comcckd +++|
00100  M00S00099.comcckd +++| CCK      SUBR               ENTRY/EXIT
00101  M00S00100.comcckd +++|          SX6    B6          SAVE FWA OF K-DISPLAY
00102  M00S00101.comcckd +++|          SA6    CCKA
00103  M00S00102.comcckd +++| CCK1     SA1    CCKA        CHECK IF END OF DISPLAY
00104  M00S00103.comcckd +++|          SA1    X1
00105  M00S00104.comcckd +++|          ZR     X1,CCKX     IF END OF DISPLAY
00106  M00S00105.comcckd +++|          MX0    12          CHECK IF POINTER
00107  M00S00106.comcckd +++|          BX6    X0*X1
00108  M00S00107.comcckd +++|          BX6    X0-X1
00109  M00S00108.comcckd +++|          NZ     X6,CCK2     IF NOT POINTER
00110  M00S00109.comcckd +++|          SX6    X1          RESET K-DISPLAY ADDRESS
00111  M00S00110.comcckd +++|          SA6    CCKA
00112  M00S00111.comcckd +++|          EQ     CCK1        CHECK NEXT LINE
00113  M00S00112.comcckd +++|
00114  M00S00113.comcckd +++| CCK2     SA1    SPS
00115  M00S00114.comcckd +++|          ZR     X1,CCK3     IF NO WORD OF SPACES
00116  M00S00115.comcckd +++|          WRITEW X2,WSP,1    INSERT A WORD OF SPACES
00117  M00S00116.comcckd +++| CCK3     SA1    CCKA
00118  M00S00117.comcckd +++|          SB6    X1
00119  M00S00118.comcckd +++|          RJ     CWL         COUNT WORDS IN LINE
00120  M00S00119.comcckd +++|          SX6    B6+B7       RESET K-DISPLAY ADDRESS
00121  M00S00120.comcckd +++|          SA6    CCKA
00122  M00S00121.comcckd +++|          WRITEH X2,B6,B7    COPY LINE TO FET BUFFER
00123  M00S00122.comcckd +++|          EQ     CCK1        CHECK NEXT LINE
00124  M00S00123.comcckd +++|
00125  M00S00124.comcckd +++| CCKA     BSS    1           K-DISPLAY ADDRESS
00126  M00S00125.comcckd +++| CKDP$    IF     -DEF,CKDP$
00127  M00S00126.comcckd +++| CPK      SPACE  4,15
00128  M00S00127.comcckd +++|**        CPK - COPY PROGRAM FORMAT K-DISPLAY.
00129  M00S00128.comcckd +++|*
00130  M00S00129.comcckd +++|*         ENTRY  (B6) = FWA OF K-DISPLAY BUFFER.
00131  M00S00130.comcckd +++|*
00132  M00S00131.comcckd +++|*         EXIT   (B6) = FWA OF CODED FORMAT K-DISPLAY BUFFER.
00133  M00S00132.comcckd +++|*
00134  M00S00133.comcckd +++|*         USES   A - 1, 2, 3, 6.
00135  M00S00134.comcckd +++|*                B - 2, 3.
00136  M00S00135.comcckd +++|*                X - 0, 1, 2, 3, 4, 6, 7.
00137  M00S00136.comcckd +++|*
00138  M00S00137.comcckd +++|*         CALLS  MBS, SFN, ZTB.
00139  M00S00138.comcckd +++|
00140  M00S00139.comcckd +++|
00141  M00S00140.comcckd +++| CPK12    SB6    CPKA        SET BUFFER ADDRESS
00142  M00S00141.comcckd +++|
00143  M00S00142.comcckd +++| CPK      SUBR               ENTRY/EXIT
00144  M00S00143.comcckd +++|          SA1    WSP         SPACE FILL WORKING BUFFER
00145  M00S00144.comcckd +++|          BX6    X1
00146  M00S00145.comcckd +++|          SB2    CPKA
00147  M00S00146.comcckd +++|          SB3    CPKAE
00148  M00S00147.comcckd +++| CPK1     GE     B2,B3,CPK2  IF END OF BUFFER
00149  M00S00148.comcckd +++|          SA6    B2
00150  M00S00149.comcckd +++|          SB2    B2+B1
00151  M00S00150.comcckd +++|          EQ     CPK1        CHECK NEXT WORD
00152  M00S00151.comcckd +++|
00153  M00S00152.comcckd +++| CPK2     SA1    B6          SET INITIAL K-DISPLAY ADDRESS
00154  M00S00153.comcckd +++|          SA2    CPKA        SET INITIAL WORKING BUFFER ADDRESS
00155  M00S00154.comcckd +++|          SB2    59          SET INITIAL WORKING BUFFER BIT POSITION
00156  M00S00155.comcckd +++| CPK3     ZR     X1,CPK6     IF END OF K-DISPLAY
00157  M00S00156.comcckd +++|          MX0    2           CHECK IF NORMAL CHARACTERS
00158  M00S00157.comcckd +++|          BX6    X0*X1
00159  M00S00158.comcckd +++|          BX6    X0-X6
00160  M00S00159.comcckd +++|          ZR     X6,CPK4     IF SPECIAL CHARACTERS
00161  M00S00160.comcckd +++|          SB4    10*6        SET BIT COUNT
00162  M00S00161.comcckd +++|          SB3    59          SET UPPER BIT POSITION
00163  M00S00162.comcckd +++|          RJ     MBS         MOVE BIT STRING
00164  M00S00163.comcckd +++|          EQ     CPK3        CHECK NEXT WORD
00165  M00S00164.comcckd +++|
00166  M00S00165.comcckd +++| CPK4     MX0    12          CHECK IF POINTER
00167  M00S00166.comcckd +++|          BX6    X0*X1
00168  M00S00167.comcckd +++|          BX6    X0-X6
00169  M00S00168.comcckd +++|          NZ     X6,CPK5     IF NOT POINTER
00170  M00S00169.comcckd +++|          SA1    X1          RESET K-DISPLAY ADDRESS
00171  M00S00170.comcckd +++|          EQ     CPK3        CHECK NEXT WORD
00172  M00S00171.comcckd +++|
00173  M00S00172.comcckd +++| CPK5     BX6    X0*X1       GET X-COORDINATE
00174  M00S00173.comcckd +++|          LX6    12
00175  M00S00174.comcckd +++|          SX6    X6-6000B
00176  M00S00175.comcckd +++|          AX6    3           (X6) = CHARACTER POSITON
00177  M00S00176.comcckd +++|          SX3    6
00178  M00S00177.comcckd +++|          IX6    X6*X3
00179  M00S00178.comcckd +++|          SX4    X6
00180  M00S00179.comcckd +++|          SX3    60
00181  M00S00180.comcckd +++|          IX3    X6/X3       (X3) = WORD POSITION IN LINE
00182  M00S00181.comcckd +++|          SX7    60
00183  M00S00182.comcckd +++|          IX6    X3*X7
00184  M00S00183.comcckd +++|          IX6    X4-X6
00185  M00S00184.comcckd +++|          IX6    X7-X6
00186  M00S00185.comcckd +++|          SB2    X6-1        (B2) = BIT POSITION IN WORD
00187  M00S00186.comcckd +++|          LX0    -12+60      GET Y-COORDINATE
00188  M00S00187.comcckd +++|          BX6    X0*X1
00189  M00S00188.comcckd +++|          LX6    24
00190  M00S00189.comcckd +++|          SX4    CKDY$
00191  M00S00190.comcckd +++|          IX6    X4-X6
00192  M00S00191.comcckd +++|          SX4    CKDI$
00193  M00S00192.comcckd +++|          IX6    X6/X4       (X6) = LINE NUMBER
00194  M00S00193.comcckd +++|          SX4    CKDW$
00195  M00S00194.comcckd +++|          IX6    X6*X4
00196  M00S00195.comcckd +++|          IX6    X6+X3
00197  M00S00196.comcckd +++|          SA2    X6+CPKA     (A2) = NEW ADDRESS IN WORKING BUFFER
00198  M00S00197.comcckd +++|          SB4    6*6         SET BIT COUNT
00199  M00S00198.comcckd +++|          SB3    35          SET UPPER BIT POSITION
00200  M00S00199.comcckd +++|          RJ     MBS         MOVE BIT STRING
00201  M00S00200.comcckd +++|          EQ     CPK3        CHECK NEXT WORD
00202  M00S00201.comcckd +++|
00203  M00S00202.comcckd +++| CPK6     SA1    CPKA        CONVERT COLONS TO SPACES
00204  M00S00203.comcckd +++| CPK7     SB2    A1-CPKAE
00205  M00S00204.comcckd +++|          PL     B2,CPK8     IF END OF BUFFER
00206  M00S00205.comcckd +++| CKDS$    IF     DEF,CKDS$
00207  M00S00206.comcckd +++|          RJ     SFN         SPACE FILL NAME
00208  M00S00207.comcckd +++| CKDS$    ELSE
00209  M00S00208.comcckd +++|          RJ     ZTB         COVERT ZEROES TO BLANKS
00210  M00S00209.comcckd +++| CKDS$    ENDIF
00211  M00S00210.comcckd +++|          SA6    A1
00212  M00S00211.comcckd +++|          SA1    A1+B1
00213  M00S00212.comcckd +++|          EQ     CPK7        CHECK NEXT WORD
00214  M00S00213.comcckd +++|
00215  M00S00214.comcckd +++| CPK8     SA1    CPKAE-1     CLEAR EXTRA SPACES
00216  M00S00215.comcckd +++|          SA3    WSP
00217  M00S00216.comcckd +++| CPK9     BX6    X3-X1
00218  M00S00217.comcckd +++|          NZ     X6,CPK10    IF NOT EXTRA SPACES
00219  M00S00218.comcckd +++|          SA6    A1
00220  M00S00219.comcckd +++|          SA1    A1-B1
00221  M00S00220.comcckd +++|          EQ     CPK9        CHECK NEXT WORD
00222  M00S00221.comcckd +++|
00223  M00S00222.comcckd +++| CPK10    MX0    48          SET ENDS OF LINE IN BUFFER
00224  M00S00223.comcckd +++|          SA1    CPKA+CKDW$-1
00225  M00S00224.comcckd +++| CPK11    SB2    A1-CPKAE
00226  M00S00225.comcckd +++|          PL     B2,CPK12    IF END OF BUFFER
00227  M00S00226.comcckd +++|          BX6    X0*X1
00228  M00S00227.comcckd +++|          SA6    A1
00229  M00S00228.comcckd +++|          SA1    A1+CKDW$
00230  M00S00229.comcckd +++|          EQ     CPK11       CHECK NEXT WORD
00231  M00S00230.comcckd +++|
00232  M00S00231.comcckd +++| CPKA     BSS    CKDL$*CKDW$ WORKING BUFFER
00233  M00S00232.comcckd +++| CPKAE    CON    0           END OF WORKING BUFFER
00234  M00S00233.comcckd +++| CKDP$    ENDIF
00235  M00S00234.comcckd +++| CWL      SPACE  4,10
00236  M00S00235.comcckd +++|**        CWL - COUNT WORDS IN LINE.
00237  M00S00236.comcckd +++|*
00238  M00S00237.comcckd +++|*         ENTRY  (B6) = FWA OF LINE.
00239  M00S00238.comcckd +++|*
00240  M00S00239.comcckd +++|*         EXIT   (B7) = NUMBER OF WORDS IN LINE.
00241  M00S00240.comcckd +++|*
00242  M00S00241.comcckd +++|*         USES   A - 1.
00243  M00S00242.comcckd +++|*                X - 0, 1.
00244  M00S00243.comcckd +++|
00245  M00S00244.comcckd +++|
00246  M00S00245.comcckd +++| CWL      SUBR               ENTRY/EXIT
00247  M00S00246.comcckd +++|          MX0    -12
00248  M00S00247.comcckd +++|          SB7    B0
00249  M00S00248.comcckd +++| CWL1     SA1    B6+B7       CHECK FOR END OF LINE
00250  M00S00249.comcckd +++|          BX1    -X0*X1
00251  M00S00250.comcckd +++|          SB7    B7+B1
00252  M00S00251.comcckd +++|          NZ     X1,CWL1     IF NOT END OF LINE
00253  M00S00252.comcckd +++|          EQ     CWLX        RETURN
00254  M00S00253.comcckd +++|          SPACE  4
00255  M00S00254.comcckd +++|          BASE   *
00256  M00S00255.comcckd +++| QUAL$    IF     -DEF,QUAL$
00257  M00S00256.comcckd +++|          QUAL   *
00258  M00S00257.comcckd +++| CKD      EQU    /COMCCKD/CKD
00259  M00S00258.comcckd +++| QUAL$    ENDIF
00260  M00S00259.comcckd +++|          ENDX
cdc/nos2.source/opl.opl871/common/comcckd.txt ยท Last modified: by 127.0.0.1