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