Seq # *Modification Id* Act
----------------------------+
00001 M00S00001.comcpop +++| CTEXT COMCPOP - PICK OUT PARAMETER.
00002 M00S00002.comcpop +++| SPACE 4
00003 M00S00003.comcpop +++| QUAL$ IF -DEF,QUAL$,1
00004 M00S00004.comcpop +++| QUAL COMCPOP
00005 M00S00005.comcpop +++| BASE D
Line S00006 Modification History |
M01 (Removed by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00006 M01S00006.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1972.
Line S00001 Modification History |
M01 (Added by) | 281l803 |
Seq # *Modification Id* Act
----------------------------+
00007 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
00008 M00S00007.comcpop +++| POP SPACE 4
00009 M00S00008.comcpop +++|*** COMCPOP - PICK OUT PARAMETER.
00010 M00S00009.comcpop +++|* K. E. ZINNEL. 71/12/01.
00011 M00S00010.comcpop +++|* D. A. HIVELEY. 72/06/01.
00012 M00S00011.comcpop +++|* M. E. MADDEN. 73/04/10.
00013 M00S00012.comcpop +++|* S. R. MCPHERSON. 74/09/30.
00014 M00S00013.comcpop +++|* A. D. FORET 74/12/04. RESEQUENCE.
00015 M00S00014.comcpop +++| POP SPACE 4
00016 M00S00015.comcpop +++|*** POP - PICK OUT PARAMETER FROM STRING BUFFER.
00017 M00S00016.comcpop +++|*
00018 M00S00017.comcpop +++|* A LITERAL PARAMETER IS DELIMITED BY *$*. IF THE
00019 M00S00018.comcpop +++|* LITERAL IS TO CONTAIN A *$*, *$$* MUST BE USED.
00020 M00S00019.comcpop +++|* EG. - $A B/C$$E$ YIELDS A B/C$E
00021 M00S00020.comcpop +++|*
00022 M00S00021.comcpop +++|* IF *RCC* IS DEFINED IN THE USERS PROGRAM, WHEN THE
00023 M00S00022.comcpop +++|* STRING BUFFER IS EXHAUSTED, THE NEXT CONTROL CARD IS
00024 M00S00023.comcpop +++|* READ FROM THE CONTROL CARD BUFFER. HOWEVER, LITERALS
00025 M00S00024.comcpop +++|* MAY NOT BE CONTINUED ON THE NEXT CONTROL CARD.
00026 M00S00025.comcpop +++|*
00027 M00S00026.comcpop +++|* LITERALS WILL BE PROCESSED IF *LIT* IS DEFINED AND
00028 M00S00027.comcpop +++|* (LIT) .NE. 0. OTHERWISE, A *$* WILL BE TREATED AS A BLANK.
00029 M00S00028.comcpop +++|*
00030 M00S00029.comcpop +++|* AN ASTERISK (*) IS CONSIDERED A VALID
00031 M00S00030.comcpop +++|* PARAMETER CHARACTER, NOT A SEPARATOR.
00032 M00S00031.comcpop +++|*
00033 M00S00032.comcpop +++|* *POPL* DEFINES THE MAXIMUM PARAMETER LENGTH IN WORDS.
00034 M00S00033.comcpop +++|*
00035 M00S00034.comcpop +++|* ENTRY (B6) = ADDRESS TO BEGIN ASSEMBLY.
00036 M00S00035.comcpop +++|* (USBC) = ADDRESS OF LAST CHARACTER IN STRING BUFFER.
00037 M00S00036.comcpop +++|* IF NOT DEFINED IN THE USER PROGRAM
00038 M00S00037.comcpop +++|* THIS SYMBOL IS DEFINED IN *COMCUSB*.
00039 M00S00038.comcpop +++|*
00040 M00S00039.comcpop +++|* EXIT (X6) = LAST PART OF ASSEMBLED PARAMETER OR PARAMETER
00041 M00S00040.comcpop +++|* IF .LT. 10 CHARACTERS.
00042 M00S00041.comcpop +++|* (B5) = PARAMETER LENGTH (IN WORDS) - 1.
00043 M00S00042.comcpop +++|* = NEGATIVE IF BUFFER EXHAUSTED OR ERROR.
00044 M00S00043.comcpop +++|* (B6) = 0 IF *.* OR *)* ENCOUNTERED.
00045 M00S00044.comcpop +++|* = POSITIVE, NEXT STRING BUFFER ADDRESS.
00046 M00S00045.comcpop +++|* (A1) = ADDRESS OF SEPARATOR.
00047 M00S00046.comcpop +++|* (X1) = SEPARATOR.
00048 M00S00047.comcpop +++|* (X2) = NEGATIVE IF *.* OR *)* ENCOUNTERED
00049 M00S00048.comcpop +++|* AND NO ERRORS.
00050 M00S00049.comcpop +++|* = 0 IF CHARACTER ENCOUNTERED WITH
00051 M00S00050.comcpop +++|* DISPLAY CODE GREATER THAN 57B (.).
00052 M00S00051.comcpop +++|*
00053 M00S00052.comcpop +++|*
00054 M00S00053.comcpop +++|* USES A - 1, 6, 7.
00055 M00S00054.comcpop +++|* X - 1, 2, 3, 6, 7.
00056 M00S00055.comcpop +++|* B - 1, 2, 3, 4, 5, 6, 7.
00057 M00S00056.comcpop +++|*
00058 M00S00057.comcpop +++|* CALLS AVC.
00059 M00S00058.comcpop +++|
00060 M00S00059.comcpop +++|
00061 M00S00060.comcpop +++| POP13 SB5 -B1 SET ERROR FLAG
00062 M00S00061.comcpop +++| EQ POP RETURN
00063 M00S00062.comcpop +++|
00064 M00S00063.comcpop +++| POP14 SX3 4100B CHECK FOR VALID TERMINATOR
00065 M00S00064.comcpop +++| BX7 X7-X7
00066 M00S00065.comcpop +++| AX2 X3,B2
00067 M00S00066.comcpop +++| SA6 POPA+B5 STORE PARAMETER WORD
00068 M00S00067.comcpop +++| SB2 B4-60 CHECK FOR EMPTY ASSEMBLE REGISTER
00069 M00S00068.comcpop +++| EQ B2,B0,POP15 IF EMPTY ASSEMBLY REGISTER
00070 M00S00069.comcpop +++| SB2 B5-POPL CHECK PARAMETER SIZE
00071 M00S00070.comcpop +++| PL B2,POP13 IF PARAMETER TOO LONG
00072 M00S00071.comcpop +++| SA7 A6+1
00073 M00S00072.comcpop +++| POP15 LX2 59 CHECK TERMINATOR
00074 M00S00073.comcpop +++| PL X2,POP16 IF NOT *.* OR *)*
00075 M00S00074.comcpop +++| SB6 B0 SET TERMINATOR ENCOUNTERED
00076 M00S00075.comcpop +++| POP16 SB4 B4-60
00077 M00S00076.comcpop +++| NE B4,B0,POP IF NOT EMPTY ASSEMBLY REGISTER
00078 M00S00077.comcpop +++| EQ B5,B0,POP IF .LT. 11D CHARACTERS
00079 M00S00078.comcpop +++| SB5 B5-1
00080 M00S00079.comcpop +++|
00081 M00S00080.comcpop +++| POP PS ENTRY/EXIT
00082 M00S00081.comcpop +++| SB5 -1 SET PARAMETER LENGTH INDEX
00083 M00S00082.comcpop +++| LE B6,POP IF NO ASSEMBLY POINTER
00084 M00S00083.comcpop +++| SA1 USBC GET LAST CHARACTER LOCATION
00085 M00S00084.comcpop +++| SB7 X1+1
00086 M00S00085.comcpop +++| POP1 SB4 60 POSITION INDEX
00087 M00S00086.comcpop +++| BX6 X6-X6 CLEAR ASSEMBLY REGISTER
00088 M00S00087.comcpop +++| SB5 B5+B1
00089 M00S00088.comcpop +++| POP2 SA1 B6
00090 M00S00089.comcpop +++| LT B6,B7,POP3 IF MORE CHARACTERS IN STRING BUFFER
00091 M00S00090.comcpop +++| RC1 IF DEF,RCC
00092 M00S00091.comcpop +++| RJ AVC ADVANCE CONTROL CARD
00093 M00S00092.comcpop +++| ZR X2,POP13 IF NO CONTINUATION CARD
00094 M00S00093.comcpop +++| EQ POP2 CONTINUE PROCESSING PARAMETER
00095 M00S00094.comcpop +++|
00096 M00S00095.comcpop +++| RC1 ELSE
00097 M00S00096.comcpop +++| SB3 POPL
00098 M00S00097.comcpop +++| GT B5,B3,POP13 IF BUFFER FULL
00099 M00S00098.comcpop +++| SA6 POPA+B5
00100 M00S00099.comcpop +++| EQ POP13 SET ERROR FLAG - NO TERMINATOR
00101 M00S00100.comcpop +++|
00102 M00S00101.comcpop +++| RC1 ENDIF
00103 M00S00102.comcpop +++| POP3 SX2 X1-1R
00104 M00S00103.comcpop +++| NZ B4,POP4 IF ASSEMBLY REGISTER NOT FULL
00105 M00S00104.comcpop +++| SA6 POPA+B5 STORE FULL WORD
00106 M00S00105.comcpop +++| SB2 B5-POPL
00107 M00S00106.comcpop +++| NG B2,POP1 IF PARAMETER NOT TOO LONG
00108 M00S00107.comcpop +++| EQ POP13 SET ERROR FLAG - PARAMETER TOO LONG
00109 M00S00108.comcpop +++|
00110 M00S00109.comcpop +++| POP4 SX3 X1-1R$
00111 M00S00110.comcpop +++| SB6 B6+1
00112 M00S00111.comcpop +++| SB2 X1-1R9
00113 M00S00112.comcpop +++| LT1 IF DEF,LIT
00114 M00S00113.comcpop +++| ZR X3,POP6 IF LITERAL PARAMETER
00115 M00S00114.comcpop +++| LT1 ELSE
00116 M00S00115.comcpop +++| ZR X3,POP2 IF CHARACTER = $
00117 M00S00116.comcpop +++| LT1 ENDIF
00118 M00S00117.comcpop +++| SX3 X1-1R*
00119 M00S00118.comcpop +++| ZR X3,POP5 IF CHARACTER = *
00120 M00S00119.comcpop +++| ZR X2,POP2 IF CHARACTER = * *
00121 M00S00120.comcpop +++| GT B2,POP14 IF NOT ALPHANUMERIC
00122 M00S00121.comcpop +++| ZR X1,POP14 IF CHARACTER 00
00123 M00S00122.comcpop +++| POP5 SB4 B4-6
00124 M00S00123.comcpop +++| LX7 X1,B4
00125 M00S00124.comcpop +++| BX6 X7+X6
00126 M00S00125.comcpop +++| EQ POP2 CHECK NEXT CHARACTER
00127 M00S00126.comcpop +++|
00128 M00S00127.comcpop +++| LT2 IF DEF,LIT
00129 M00S00128.comcpop +++| POP6 SA1 LIT
00130 M00S00129.comcpop +++| ZR X1,POP2 IF LITERALS NOT PERMITTED
00131 M00S00130.comcpop +++| SX7 B4-60 CHECK FOR DELIMITER AS FIRST CHARACTER
00132 M00S00131.comcpop +++| SX3 X7+B5
00133 M00S00132.comcpop +++| NZ X3,POP13 IF DELIMITER NOT FIRST CHARACTER
00134 M00S00133.comcpop +++| POP7 SA1 B6
00135 M00S00134.comcpop +++| SX3 X1-1R$
00136 M00S00135.comcpop +++| SB6 B6+B1
00137 M00S00136.comcpop +++| GT B6,B7,POP13 IF NO MORE CHARACTERS IN STRING BUFFER
00138 M00S00137.comcpop +++| NZ X3,POP11 IF NO DELIMITER
00139 M00S00138.comcpop +++| SA1 B6
00140 M00S00139.comcpop +++| SX3 X1-1R$
00141 M00S00140.comcpop +++| SB6 B6+B1
00142 M00S00141.comcpop +++| GT B6,B7,POP10 IF NO MORE CHARACTERS IN STRING BUFFER
00143 M00S00142.comcpop +++| ZR X3,POP11 IF DOUBLE DELIMITER
00144 M00S00143.comcpop +++| POP8 SX3 X1-1R*
00145 M00S00144.comcpop +++| SB2 X1-1R$
00146 M00S00145.comcpop +++| ZR X3,POP13 IF ILLEGAL SEPARATOR
00147 M00S00146.comcpop +++| ZR B2,POP13 IF ILLEGAL SEPARATOR
00148 M00S00147.comcpop +++| ZR X1,POP14 IF 00 CHARACTER
00149 M00S00148.comcpop +++| SB2 X1-1R9
00150 M00S00149.comcpop +++| SX3 X1-1R
00151 M00S00150.comcpop +++| LE B2,POP13 IF ALPHANUMERIC CHARACTER
00152 M00S00151.comcpop +++| NZ X3,POP14 IF NOT BLANK
00153 M00S00152.comcpop +++| POP9 SA1 B6
00154 M00S00153.comcpop +++| SB6 B6+B1
00155 M00S00154.comcpop +++| LE B6,B7,POP8 IF MORE CHARACTERS IN STRING BUFFER
00156 M00S00155.comcpop +++| POP10 BSS 0
00157 M00S00156.comcpop +++| RC2 IF -DEF,RCC
00158 M00S00157.comcpop +++| EQ POP13 SET ERROR FLAG - NO TERMINATOR
00159 M00S00158.comcpop +++|
00160 M00S00159.comcpop +++| RC2 ELSE
00161 M00S00160.comcpop +++| RJ AVC ADVANCE CONTROL CARD
00162 M00S00161.comcpop +++| ZR X2,POP13 IF NO CONTINUATION CARD
00163 M00S00162.comcpop +++| EQ POP9 CHECK FOR SEPARATOR
00164 M00S00163.comcpop +++|
00165 M00S00164.comcpop +++| RC2 ENDIF
00166 M00S00165.comcpop +++|
00167 M00S00166.comcpop +++| POP11 NZ B4,POP12 IF ASSEMBLY WORD NOT FULL
00168 M00S00167.comcpop +++| SA6 POPA+B5 STORE ASSEMBLY WORD
00169 M00S00168.comcpop +++| SB2 B5-POPL
00170 M00S00169.comcpop +++| PL B2,POP13 IF PARAMETER TOO LONG
00171 M00S00170.comcpop +++| SB4 60
00172 M00S00171.comcpop +++| BX6 X6-X6
00173 M00S00172.comcpop +++| SB5 B5+B1
00174 M00S00173.comcpop +++| POP12 SB4 B4-6
00175 M00S00174.comcpop +++| LX7 X1,B4
00176 M00S00175.comcpop +++| BX6 X6+X7
00177 M00S00176.comcpop +++| EQ POP7 CHECK NEXT CHARACTER
00178 M00S00177.comcpop +++| LT2 ENDIF
00179 M00S00178.comcpop +++|
Line S00001 Modification History |
M01 (Added by) | cpop1 |
Seq # *Modification Id* Act
----------------------------+
00180 M01S00001.cpop1 +++| IF -DEF,POPL,1
00181 M00S00179.comcpop +++| POPL EQU 3 MAXIMUM PARAMETER LENGTH IN WORDS
00182 M00S00180.comcpop +++| POPA BSS POPL+1 ASSEMBLY BUFFER
00183 M00S00181.comcpop +++| RC3 IF DEF,RCC
00184 M00S00182.comcpop +++| AVC SPACE 4,20
00185 M00S00183.comcpop +++|** AVC - ADVANCE CONTROL CARD.
00186 M00S00184.comcpop +++|*
00187 M00S00185.comcpop +++|* ENTRY (X6) = PARAMETER ASSEMBLY.
00188 M00S00186.comcpop +++|*
00189 M00S00187.comcpop +++|* EXIT (X2) = 0, IF NO CONTINUATION CARD WAS FOUND.
00190 M00S00188.comcpop +++|* IF A CONTINUATION CARD WAS FOUND ((X2) .NE. 0),
00191 M00S00189.comcpop +++|* THE FOLLOWING EXIT CONDITIONS ARE RETURNED -
00192 M00S00190.comcpop +++|* (X6) = PARAMETER ASSEMBLY.
00193 M00S00191.comcpop +++|* (B6) = FWA STRING BUFFER.
00194 M00S00192.comcpop +++|* (B7) = LWA+1 DATA IN STRING BUFFER.
00195 M00S00193.comcpop +++|*
00196 M00S00194.comcpop +++|* USES A - 2, 6.
00197 M00S00195.comcpop +++|* B - 2, 7.
00198 M00S00196.comcpop +++|* X - 2, 6.
00199 M00S00197.comcpop +++|*
00200 M00S00198.comcpop +++|* CALLS SYS=, USB.
00201 M00S00199.comcpop +++|
00202 M00S00200.comcpop +++|
00203 M00S00201.comcpop +++| AVC PS ENTRY/EXIT
00204 M00S00202.comcpop +++| SA6 AVCA SAVE PARAMETER ASSEMBLY REGISTER
Line S00203 Modification History |
M01 (Removed by) | ns2053 |
Seq # *Modification Id* Act
----------------------------+
00205 M01S00203.ns2053 ---| CONTROL CCDR,RSS GET NEXT CONTROL CARD
Line S00001 Modification History |
M01 (Added by) | ns2053 |
Seq # *Modification Id* Act
----------------------------+
00206 M01S00001.ns2053 +++| CONTROL CCDR,RSS,LF GET NEXT CONTROL CARD
00207 M00S00204.comcpop +++| SA2 CCDR
00208 M00S00205.comcpop +++| ZR X2,AVC IF NO CONTINUATION CONTROL CARD
00209 M00S00206.comcpop +++| CONTROL CCDR ADVANCE POINTERS
00210 M00S00207.comcpop +++| SB2 CCDR
00211 M00S00208.comcpop +++| RJ USB UNPACK TO STRING BUFFER
00212 M00S00209.comcpop +++| SA2 AVCA RESTORE PARAMETER ASSEMBLY REGISTER
00213 M00S00210.comcpop +++| BX6 X2
00214 M00S00211.comcpop +++| SB7 B7+B1 SET LWA+1 DATA IN STRING BUFFER
00215 M00S00212.comcpop +++| MX2 1
00216 M00S00213.comcpop +++| EQ AVC RETURN
00217 M00S00214.comcpop +++|
00218 M00S00215.comcpop +++|
00219 M00S00216.comcpop +++| AVCA BSS 1 ASSEMBLY REGISTER TEMPORARY
00220 M00S00217.comcpop +++| RC3 ENDIF
00221 M00S00218.comcpop +++| SPACE 4
00222 M00S00219.comcpop +++| QUAL$ IF -DEF,QUAL$
00223 M00S00220.comcpop +++| QUAL *
00224 M00S00221.comcpop +++| POP EQU /COMCPOP/POP
00225 M00S00222.comcpop +++| POPA EQU /COMCPOP/POPA
00226 M00S00223.comcpop +++| QUAL$ ENDIF
00227 M00S00224.comcpop +++| BASE *
00228 M00S00225.comcpop +++| ENDX