Common COMCCPA

5 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.comccpa +++|          CTEXT  COMCCPA - CONVERT POSITIONAL ARGUMENTS.
00002  M01S00002.comccpa +++| CPA      SPACE  4
00003  M01S00003.comccpa +++|          IF     -DEF,QUAL$,1
00004  M01S00004.comccpa +++|          QUAL   COMCCPA
00005  M01S00005.comccpa +++|          BASE   D
Line S00006 Modification History
M01 (Added by) comccpa
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00006  M02S00006.281l803 ---|*         COMMENT COPYRIGHT CONTROL DATA CORP., 1975.
00007  M01S00001.281l803 +++|*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00008  M01S00007.comccpa +++|          SPACE  4
00009  M01S00008.comccpa +++|***       CPA - CONVERT POSITIONAL ARGUMENTS.
00010  M01S00009.comccpa +++|*         S. L. KSANDER.     75/08/16.
00011  M01S00010.comccpa +++|          SPACE  4
00012  M01S00011.comccpa +++|***       CPA - CONVERT POSITIONAL ARGUMENTS.
00013  M01S00012.comccpa +++|*         AN INPUT STRING BUFFER IS EXAMINED AND ALL POSITIONAL
00014  M01S00013.comccpa +++|*         ARGUMENTS ARE TRANSLATED TO KEYWORD ARGUMENTS IN AN
00015  M01S00014.comccpa +++|*         OUTPUT STRING. MEANING OF AN ARGUMENT POSITION IS GOVERNED BY
00016  M01S00015.comccpa +++|*         POSITION OF KEYWORD IN ARGUMENT TABLE.
00017  M01S00016.comccpa +++|*
00018  M01S00017.comccpa +++|*         ENTRY  (B1) = 1.
00019  M01S00018.comccpa +++|*                (B2) = LENGTH OF ARGUMENT TABLE.
00020  M01S00019.comccpa +++|*                (B3) = ADDRESS OF ARGUMENT TABLE.
00021  M01S00020.comccpa +++|*                (B4) = ADDRESS TO STORE RESULT.
00022  M01S00021.comccpa +++|*                (B6) = FIRST ADDRESS OF INPUT STRING.
00023  M01S00022.comccpa +++|*
00024  M01S00023.comccpa +++|*         EXIT   (B5) .LT. 0 IF ERROR.
00025  M01S00024.comccpa +++|*                (B5) = LWA OF RESULT STRING.
00026  M01S00025.comccpa +++|*                (X1) .GT. 0 IF NO ARGUMENTS CONVERTED
00027  M01S00026.comccpa +++|*
00028  M01S00027.comccpa +++|*         USES   B - 4, 5, 6, 7.
00029  M01S00028.comccpa +++|*                A - 1, 2, 3, 6, 7.
00030  M01S00029.comccpa +++|*                X - ALL.
00031  M01S00030.comccpa +++|*
00032  M01S00031.comccpa +++|*         CALLS  POP, TRA.
00033  M01S00032.comccpa +++|
00034  M01S00033.comccpa +++|
00035  M01S00034.comccpa +++| CPA10    SB5    -1          SET ERROR
00036  M01S00035.comccpa +++|
00037  M01S00036.comccpa +++|
00038  M01S00037.comccpa +++| CPA      SUBR               ENTRY/EXIT
00039  M01S00038.comccpa +++|
00040  M01S00039.comccpa +++|*         INITIALIZATION.
00041  M01S00040.comccpa +++|
00042  M01S00041.comccpa +++| CPA1     SX6    B4          SET NEXT OUTPUT ADDRESS
00043  M01S00042.comccpa +++|          SX0    B2          SET ARGUMENT TABLE LENGTH
00044  M01S00043.comccpa +++|          SA6    CPAA
00045  M01S00044.comccpa +++|          BX5    X5-X5       CLEAR POSITION INDICATOR
00046  M01S00001.ccpa2   +++|          BX6    X6-X6       INITIALIZE *CPAB*
00047  M01S00002.ccpa2   +++|          SA6    CPAB
00048  M01S00045.comccpa +++|
00049  M01S00046.comccpa +++|*         PICK OUT NEXT ARGUMENT.
00050  M01S00047.comccpa +++|
00051  M01S00048.comccpa +++| CPA2     SX4    B6+         SAVE START ADDRESS
00052  M01S00049.comccpa +++|          LE     B6,B0,CPA9  IF END OF STRING
00053  M01S00050.comccpa +++|          RJ     POP         PICK OUT PARAMETER
00054  M01S00051.comccpa +++|          NG     B5,CPAX     IF ERROR
00055  M01S00052.comccpa +++|          NG     X5,CPA4     IF VALUE OF EQUIVALENCE
00056  M01S00053.comccpa +++|          NZ     B5,CPA6     IF MORE THAN ONE WORD ARGUMENT
Line S00054 Modification History
M01 (Added by) comccpa
M02 (Updated by) ccpa1
Seq #  *Modification Id* Act 
----------------------------+
00057  M02S00054.ccpa1   ---|          ZR     X6,CPA8     IF EMPTY ARGUMENT
00058  M01S00001.ccpa1   +++|          SA3    POPA
00059  M01S00002.ccpa1   +++|          ZR     X3,CPA8     IF EMPTY ARGUMENT
00060  M01S00055.comccpa +++|
00061  M01S00056.comccpa +++|*         CHECK FOR KEYWORD SPECIFICATION.
00062  M01S00057.comccpa +++|
00063  M01S00058.comccpa +++|          SA2    B3
00064  M01S00003.ccpa1   +++|          MX3    12          CHECK ARGUMENT IS KEYWORD
00065  M01S00059.comccpa +++|          SB5    12
Line S00060 Modification History
M01 (Added by) comccpa
M02 (Updated by) ccpa1
Seq #  *Modification Id* Act 
----------------------------+
00066  M02S00060.ccpa1   ---|          MX3    12          CHECK ARGUMENT IS KEYWORD
00067  M01S00061.comccpa +++| CPA3     ZR     X2,CPA6     IF NOT A KEYWORD
00068  M01S00062.comccpa +++|          BX2    X3*X2
00069  M01S00063.comccpa +++|          LX7    X2,B5
00070  M01S00064.comccpa +++|          SX7    X7-77B
00071  M01S00065.comccpa +++|          NZ     X7,CPA3.1   IF KEYWORD .LT. 3 CHARACTERS
00072  M01S00066.comccpa +++|          SA2    A2+B1
00073  M01S00067.comccpa +++| CPA3.1   BX7    X2-X6
00074  M01S00068.comccpa +++|          SA2    A2+B1
00075  M01S00069.comccpa +++|          NZ     X7,CPA3     IF NOT FOUND
00076  M01S00070.comccpa +++|          SX7    X1-1R=      CHECK FOR EQUIVALENCE
00077  M01S00071.comccpa +++|          NZ     X7,CPA6     IF NOT EQUIVALENCED, PROCESS AS POSITIONAL
00078  M01S00072.comccpa +++|
00079  M01S00073.comccpa +++|*         PROCESS *KEY=* OR *=VALUE*.
00080  M01S00074.comccpa +++|
00081  M01S00075.comccpa +++| CPA4     BX5    -X5         REVERSE EQUIVALENCED VALUE FLAG
00082  M01S00076.comccpa +++| CPA5     RJ     TRA         TRANSMIT ARGUMENT
00083  M01S00077.comccpa +++|          NG     X5,CPA2     IF PROCESSING *KEY=*
00084  M01S00078.comccpa +++|          MX7    12
00085  M01S00079.comccpa +++|          SA3    CPAB
00086  M01S00080.comccpa +++|          SX3    X3+B3
00087  M01S00081.comccpa +++|          SB5    X5
00088  M01S00082.comccpa +++|          SA3    X3+B5
00089  M01S00083.comccpa +++|          BX3    X7*X3
00090  M01S00084.comccpa +++|          SB5    12
00091  M01S00085.comccpa +++|          LX7    X3,B5
00092  M01S00086.comccpa +++|          SX7    X7-77B
00093  M01S00087.comccpa +++|          NZ     X7,CPA5.1   IF KEYWORD .LT. 3 CHARACTERS
00094  M01S00088.comccpa +++|          SA3    CPAB
00095  M01S00089.comccpa +++|          SX7    X3+B1
00096  M01S00090.comccpa +++|          SA7    CPAB
00097  M01S00091.comccpa +++| CPA5.1   SX5    X5+B1       ADVANCE POSITION
00098  M01S00001.ns2586  +++|          SA3    CPAB
00099  M01S00002.ns2586  +++|          IX7    X5-X0
00100  M01S00003.ns2586  +++|          IX7    X7+X3
00101  M01S00004.ns2586  +++|          SX3    1
00102  M01S00005.ns2586  +++|          IX7    X7-X3
00103  M01S00006.ns2586  +++|          PL     X7,CPA10    IF POSITION OUT OF RANGE
00104  M01S00092.comccpa +++|          EQ     CPA2        LOOP FOR ALL ARGUMENTS
00105  M01S00093.comccpa +++|
00106  M01S00094.comccpa +++|*         PROCESS POSITIONAL VALUE.
00107  M01S00095.comccpa +++|
00108  M01S00096.comccpa +++| CPA6     SA1    A1+         CHECK EQUIVALENCE
00109  M01S00097.comccpa +++|          SX7    X1-1R=
00110  M01S00098.comccpa +++|          ZR     X7,CPA10    IF EQUIVALENCED
Line S00099 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00111  M02S00099.ns2586  ---|          SA3    CPAB
Line S00100 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00112  M02S00100.ns2586  ---|          IX7    X5-X0
Line S00101 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00113  M02S00101.ns2586  ---|          IX7    X7+X3
Line S00102 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00114  M02S00102.ns2586  ---|          SX3    2
Line S00103 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00115  M02S00103.ns2586  ---|          IX7    X7-X3
Line S00104 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2586
Seq #  *Modification Id* Act 
----------------------------+
00116  M02S00104.ns2586  ---|          PL     X7,CPA10    IF POSITION OUT OF RANGE, ERROR
00117  M01S00105.comccpa +++|          MX7    12
00118  M01S00106.comccpa +++|          SA3    CPAB
00119  M01S00107.comccpa +++|          SX3    X3+B3
00120  M01S00108.comccpa +++|          SB5    X5
00121  M01S00109.comccpa +++|          SA3    X3+B5
00122  M01S00001.ns2007  +++|          SB5    2
00123  M01S00002.ns2007  +++|          SB7    2
00124  M01S00110.comccpa +++|          BX2    X7*X3
00125  M01S00111.comccpa +++|          LX2    12
00126  M01S00112.comccpa +++|          SX2    X2-77B
00127  M01S00113.comccpa +++|          NZ     X2,CPA6.1   IF KEYWORD .LT. 3 CHARACTERS
00128  M01S00114.comccpa +++|          SA3    A3+B1
00129  M01S00003.ns2007  +++|          SB7    7
00130  M01S00115.comccpa +++| CPA6.1   MX7    -6
00131  M01S00116.comccpa +++|          SA2    CPAA        READ NEXT OUTPUT ADDRESS
00132  M01S00117.comccpa +++|          LX3    6
00133  M01S00118.comccpa +++|          BX6    -X7*X3
00134  M01S00119.comccpa +++|          LX3    6
00135  M01S00120.comccpa +++|          SA6    X2+
Line S00121 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2007
Seq #  *Modification Id* Act 
----------------------------+
00136  M02S00121.ns2007  ---|          SB5    2
Line S00122 Modification History
M01 (Added by) comccpa
M02 (Updated by) ns2007
Seq #  *Modification Id* Act 
----------------------------+
00137  M02S00122.ns2007  ---|          SB7    7
00138  M01S00123.comccpa +++| CPA6.2   GT     B5,B7,CPA7  IF NO MORE CHARACTERS
00139  M01S00124.comccpa +++|          BX6    -X7*X3
00140  M01S00125.comccpa +++|          ZR     X6,CPA7     IF KEYWORD END
00141  M01S00126.comccpa +++|          SA6    X2+B1
00142  M01S00127.comccpa +++|          SX2    X2+B1
00143  M01S00128.comccpa +++|          LX3    6
00144  M01S00129.comccpa +++|          SB5    B5+B1
00145  M01S00130.comccpa +++|          EQ     CPA6.2      CHECK FOR NO MORE CHARACTERS
00146  M01S00131.comccpa +++| CPA7     SX6    1R=
00147  M01S00132.comccpa +++|          SA6    X2+B1
00148  M01S00133.comccpa +++|          SX7    A6+B1
00149  M01S00134.comccpa +++|          SA7    A2
00150  M01S00135.comccpa +++|          RJ     TRA         TRANSMIT ARGUMENT
00151  M01S00136.comccpa +++| CPA8     MX7    12
00152  M01S00137.comccpa +++|          SA3    CPAB
00153  M01S00138.comccpa +++|          SX3    X3+B3
00154  M01S00139.comccpa +++|          SB5    X5
00155  M01S00140.comccpa +++|          SA3    X3+B5
00156  M01S00141.comccpa +++|          BX3    X7*X3
00157  M01S00142.comccpa +++|          SB5    12
00158  M01S00143.comccpa +++|          LX7    X3,B5
00159  M01S00144.comccpa +++|          SX7    X7-77B
00160  M01S00145.comccpa +++|          NZ     X7,CPA5.1   IF KEYWORD .LT. 3 CHARACTERS
00161  M01S00146.comccpa +++|          SA3    CPAB
00162  M01S00147.comccpa +++|          SX7    X3+B1
00163  M01S00148.comccpa +++|          SA7    CPAB
00164  M01S00149.comccpa +++|          SX5    X5+B1       ADVANCE POSITION
00165  M01S00150.comccpa +++|          EQ     CPA2        LOOP TO END OF ARGUMENTS
00166  M01S00151.comccpa +++|
00167  M01S00152.comccpa +++|*         NORMAL COMPLETION.
00168  M01S00153.comccpa +++|
00169  M01S00154.comccpa +++| CPA9     SA1    CPAA        RETURN LWA OF RESULT
00170  M01S00155.comccpa +++|          SX7    1R.         ENSURE TERMINATOR
00171  M01S00156.comccpa +++|          SB5    X1
00172  M01S00157.comccpa +++|          PL     X1,CPA9.1   IF NO ARGUMENTS PROCESSED
00173  M01S00158.comccpa +++|          SB5    B5-B1       ADJUST LWA FOR LAST ARGUMENT
00174  M01S00159.comccpa +++| CPA9.1   SA7    B5
00175  M01S00160.comccpa +++|          EQ     CPAX        RETURN
00176  M01S00161.comccpa +++|
00177  M01S00162.comccpa +++| CPAA     CON    0           1/ARGUMENTS PROCESSED,59/NEXT OUTPUT ADDR.
00178  M01S00163.comccpa +++| CPAB     CON    0           NUMBER OF EXTRA ARG TABLE WORDS
00179  M01S00164.comccpa +++| TRA      SPACE  4
00180  M01S00165.comccpa +++|**        TRA - TRANSMIT ARGUMENT TO OUTPUT STRING.
00181  M01S00166.comccpa +++|*
00182  M01S00167.comccpa +++|*         ENTRY  (B1) = 1.
00183  M01S00168.comccpa +++|*                (X4) = FWA OF SOURCE.
00184  M01S00169.comccpa +++|*                (A1) = LWA OF SOURCE.
00185  M01S00170.comccpa +++|*                (CPAA) = NEXT OUTPUT ADDRESS.
00186  M01S00171.comccpa +++|*
00187  M01S00172.comccpa +++|*         USES   A - 1, 2, 6.
00188  M01S00173.comccpa +++|*                X - 1, 2, 3, 6.
00189  M01S00174.comccpa +++|
00190  M01S00175.comccpa +++|
00191  M01S00176.comccpa +++| TRA      SUBR               ENTRY/EXIT
00192  M01S00177.comccpa +++|          SX3    A1+B1       FIND WORD COUNT
00193  M01S00178.comccpa +++|          SA1    X4-1        INITIALIZE SOURCE ADDRESS
00194  M01S00179.comccpa +++|          IX3    X3-X4
00195  M01S00180.comccpa +++|          SA2    CPAA        SET NEXT OUTPUT ADDRESS
00196  M01S00181.comccpa +++| TRA1     SA1    A1+B1       MOVE
00197  M01S00182.comccpa +++|          SX3    X3-1
00198  M01S00183.comccpa +++|          BX6    X1
00199  M01S00184.comccpa +++|          SA6    X2
00200  M01S00185.comccpa +++|          SX2    X2+B1
00201  M01S00186.comccpa +++|          NZ     X3,TRA1     IF MOVE NOT COMPLETE
00202  M01S00187.comccpa +++|          MX1    1           SET ARGUMENTS PROCESSED
00203  M01S00188.comccpa +++|          BX6    X2+X1       UPDATE NEXT OUTPUT ADDRESS
00204  M01S00189.comccpa +++|          SA6    A2+
00205  M01S00190.comccpa +++|          EQ     TRAX        RETURN
00206  M01S00191.comccpa +++|          SPACE  4
00207  M01S00192.comccpa +++|          BASE   *
00208  M01S00193.comccpa +++| QUAL$    IF     -DEF,QUAL$
00209  M01S00194.comccpa +++|          QUAL   *
00210  M01S00195.comccpa +++| CPA      EQU    /COMCCPA/CPA
00211  M01S00196.comccpa +++|          ENDIF
00212  M01S00197.comccpa +++|          ENDX