cdc:nos2.source:opl.opl871:common:comcpop
Common COMCPOP
3 Modifications
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.comcpop +++| CTEXT COMCPOP - PICK OUT PARAMETER. 00002 M01S00002.comcpop +++| SPACE 4 00003 M01S00003.comcpop +++| QUAL$ IF -DEF,QUAL$,1 00004 M01S00004.comcpop +++| QUAL COMCPOP 00005 M01S00005.comcpop +++| BASE D
Line S00006 Modification History | |
---|---|
M01 (Added by) | comcpop |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00006 M02S00006.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORP. 1972. 00007 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00008 M01S00007.comcpop +++| POP SPACE 4 00009 M01S00008.comcpop +++|*** COMCPOP - PICK OUT PARAMETER. 00010 M01S00009.comcpop +++|* K. E. ZINNEL. 71/12/01. 00011 M01S00010.comcpop +++|* D. A. HIVELEY. 72/06/01. 00012 M01S00011.comcpop +++|* M. E. MADDEN. 73/04/10. 00013 M01S00012.comcpop +++|* S. R. MCPHERSON. 74/09/30. 00014 M01S00013.comcpop +++|* A. D. FORET 74/12/04. RESEQUENCE. 00015 M01S00014.comcpop +++| POP SPACE 4 00016 M01S00015.comcpop +++|*** POP - PICK OUT PARAMETER FROM STRING BUFFER. 00017 M01S00016.comcpop +++|* 00018 M01S00017.comcpop +++|* A LITERAL PARAMETER IS DELIMITED BY *$*. IF THE 00019 M01S00018.comcpop +++|* LITERAL IS TO CONTAIN A *$*, *$$* MUST BE USED. 00020 M01S00019.comcpop +++|* EG. - $A B/C$$E$ YIELDS A B/C$E 00021 M01S00020.comcpop +++|* 00022 M01S00021.comcpop +++|* IF *RCC* IS DEFINED IN THE USERS PROGRAM, WHEN THE 00023 M01S00022.comcpop +++|* STRING BUFFER IS EXHAUSTED, THE NEXT CONTROL CARD IS 00024 M01S00023.comcpop +++|* READ FROM THE CONTROL CARD BUFFER. HOWEVER, LITERALS 00025 M01S00024.comcpop +++|* MAY NOT BE CONTINUED ON THE NEXT CONTROL CARD. 00026 M01S00025.comcpop +++|* 00027 M01S00026.comcpop +++|* LITERALS WILL BE PROCESSED IF *LIT* IS DEFINED AND 00028 M01S00027.comcpop +++|* (LIT) .NE. 0. OTHERWISE, A *$* WILL BE TREATED AS A BLANK. 00029 M01S00028.comcpop +++|* 00030 M01S00029.comcpop +++|* AN ASTERISK (*) IS CONSIDERED A VALID 00031 M01S00030.comcpop +++|* PARAMETER CHARACTER, NOT A SEPARATOR. 00032 M01S00031.comcpop +++|* 00033 M01S00032.comcpop +++|* *POPL* DEFINES THE MAXIMUM PARAMETER LENGTH IN WORDS. 00034 M01S00033.comcpop +++|* 00035 M01S00034.comcpop +++|* ENTRY (B6) = ADDRESS TO BEGIN ASSEMBLY. 00036 M01S00035.comcpop +++|* (USBC) = ADDRESS OF LAST CHARACTER IN STRING BUFFER. 00037 M01S00036.comcpop +++|* IF NOT DEFINED IN THE USER PROGRAM 00038 M01S00037.comcpop +++|* THIS SYMBOL IS DEFINED IN *COMCUSB*. 00039 M01S00038.comcpop +++|* 00040 M01S00039.comcpop +++|* EXIT (X6) = LAST PART OF ASSEMBLED PARAMETER OR PARAMETER 00041 M01S00040.comcpop +++|* IF .LT. 10 CHARACTERS. 00042 M01S00041.comcpop +++|* (B5) = PARAMETER LENGTH (IN WORDS) - 1. 00043 M01S00042.comcpop +++|* = NEGATIVE IF BUFFER EXHAUSTED OR ERROR. 00044 M01S00043.comcpop +++|* (B6) = 0 IF *.* OR *)* ENCOUNTERED. 00045 M01S00044.comcpop +++|* = POSITIVE, NEXT STRING BUFFER ADDRESS. 00046 M01S00045.comcpop +++|* (A1) = ADDRESS OF SEPARATOR. 00047 M01S00046.comcpop +++|* (X1) = SEPARATOR. 00048 M01S00047.comcpop +++|* (X2) = NEGATIVE IF *.* OR *)* ENCOUNTERED 00049 M01S00048.comcpop +++|* AND NO ERRORS. 00050 M01S00049.comcpop +++|* = 0 IF CHARACTER ENCOUNTERED WITH 00051 M01S00050.comcpop +++|* DISPLAY CODE GREATER THAN 57B (.). 00052 M01S00051.comcpop +++|* 00053 M01S00052.comcpop +++|* 00054 M01S00053.comcpop +++|* USES A - 1, 6, 7. 00055 M01S00054.comcpop +++|* X - 1, 2, 3, 6, 7. 00056 M01S00055.comcpop +++|* B - 1, 2, 3, 4, 5, 6, 7. 00057 M01S00056.comcpop +++|* 00058 M01S00057.comcpop +++|* CALLS AVC. 00059 M01S00058.comcpop +++| 00060 M01S00059.comcpop +++| 00061 M01S00060.comcpop +++| POP13 SB5 -B1 SET ERROR FLAG 00062 M01S00061.comcpop +++| EQ POP RETURN 00063 M01S00062.comcpop +++| 00064 M01S00063.comcpop +++| POP14 SX3 4100B CHECK FOR VALID TERMINATOR 00065 M01S00064.comcpop +++| BX7 X7-X7 00066 M01S00065.comcpop +++| AX2 X3,B2 00067 M01S00066.comcpop +++| SA6 POPA+B5 STORE PARAMETER WORD 00068 M01S00067.comcpop +++| SB2 B4-60 CHECK FOR EMPTY ASSEMBLE REGISTER 00069 M01S00068.comcpop +++| EQ B2,B0,POP15 IF EMPTY ASSEMBLY REGISTER 00070 M01S00069.comcpop +++| SB2 B5-POPL CHECK PARAMETER SIZE 00071 M01S00070.comcpop +++| PL B2,POP13 IF PARAMETER TOO LONG 00072 M01S00071.comcpop +++| SA7 A6+1 00073 M01S00072.comcpop +++| POP15 LX2 59 CHECK TERMINATOR 00074 M01S00073.comcpop +++| PL X2,POP16 IF NOT *.* OR *)* 00075 M01S00074.comcpop +++| SB6 B0 SET TERMINATOR ENCOUNTERED 00076 M01S00075.comcpop +++| POP16 SB4 B4-60 00077 M01S00076.comcpop +++| NE B4,B0,POP IF NOT EMPTY ASSEMBLY REGISTER 00078 M01S00077.comcpop +++| EQ B5,B0,POP IF .LT. 11D CHARACTERS 00079 M01S00078.comcpop +++| SB5 B5-1 00080 M01S00079.comcpop +++| 00081 M01S00080.comcpop +++| POP PS ENTRY/EXIT 00082 M01S00081.comcpop +++| SB5 -1 SET PARAMETER LENGTH INDEX 00083 M01S00082.comcpop +++| LE B6,POP IF NO ASSEMBLY POINTER 00084 M01S00083.comcpop +++| SA1 USBC GET LAST CHARACTER LOCATION 00085 M01S00084.comcpop +++| SB7 X1+1 00086 M01S00085.comcpop +++| POP1 SB4 60 POSITION INDEX 00087 M01S00086.comcpop +++| BX6 X6-X6 CLEAR ASSEMBLY REGISTER 00088 M01S00087.comcpop +++| SB5 B5+B1 00089 M01S00088.comcpop +++| POP2 SA1 B6 00090 M01S00089.comcpop +++| LT B6,B7,POP3 IF MORE CHARACTERS IN STRING BUFFER 00091 M01S00090.comcpop +++| RC1 IF DEF,RCC 00092 M01S00091.comcpop +++| RJ AVC ADVANCE CONTROL CARD 00093 M01S00092.comcpop +++| ZR X2,POP13 IF NO CONTINUATION CARD 00094 M01S00093.comcpop +++| EQ POP2 CONTINUE PROCESSING PARAMETER 00095 M01S00094.comcpop +++| 00096 M01S00095.comcpop +++| RC1 ELSE 00097 M01S00096.comcpop +++| SB3 POPL 00098 M01S00097.comcpop +++| GT B5,B3,POP13 IF BUFFER FULL 00099 M01S00098.comcpop +++| SA6 POPA+B5 00100 M01S00099.comcpop +++| EQ POP13 SET ERROR FLAG - NO TERMINATOR 00101 M01S00100.comcpop +++| 00102 M01S00101.comcpop +++| RC1 ENDIF 00103 M01S00102.comcpop +++| POP3 SX2 X1-1R 00104 M01S00103.comcpop +++| NZ B4,POP4 IF ASSEMBLY REGISTER NOT FULL 00105 M01S00104.comcpop +++| SA6 POPA+B5 STORE FULL WORD 00106 M01S00105.comcpop +++| SB2 B5-POPL 00107 M01S00106.comcpop +++| NG B2,POP1 IF PARAMETER NOT TOO LONG 00108 M01S00107.comcpop +++| EQ POP13 SET ERROR FLAG - PARAMETER TOO LONG 00109 M01S00108.comcpop +++| 00110 M01S00109.comcpop +++| POP4 SX3 X1-1R$ 00111 M01S00110.comcpop +++| SB6 B6+1 00112 M01S00111.comcpop +++| SB2 X1-1R9 00113 M01S00112.comcpop +++| LT1 IF DEF,LIT 00114 M01S00113.comcpop +++| ZR X3,POP6 IF LITERAL PARAMETER 00115 M01S00114.comcpop +++| LT1 ELSE 00116 M01S00115.comcpop +++| ZR X3,POP2 IF CHARACTER = $ 00117 M01S00116.comcpop +++| LT1 ENDIF 00118 M01S00117.comcpop +++| SX3 X1-1R* 00119 M01S00118.comcpop +++| ZR X3,POP5 IF CHARACTER = * 00120 M01S00119.comcpop +++| ZR X2,POP2 IF CHARACTER = * * 00121 M01S00120.comcpop +++| GT B2,POP14 IF NOT ALPHANUMERIC 00122 M01S00121.comcpop +++| ZR X1,POP14 IF CHARACTER 00 00123 M01S00122.comcpop +++| POP5 SB4 B4-6 00124 M01S00123.comcpop +++| LX7 X1,B4 00125 M01S00124.comcpop +++| BX6 X7+X6 00126 M01S00125.comcpop +++| EQ POP2 CHECK NEXT CHARACTER 00127 M01S00126.comcpop +++| 00128 M01S00127.comcpop +++| LT2 IF DEF,LIT 00129 M01S00128.comcpop +++| POP6 SA1 LIT 00130 M01S00129.comcpop +++| ZR X1,POP2 IF LITERALS NOT PERMITTED 00131 M01S00130.comcpop +++| SX7 B4-60 CHECK FOR DELIMITER AS FIRST CHARACTER 00132 M01S00131.comcpop +++| SX3 X7+B5 00133 M01S00132.comcpop +++| NZ X3,POP13 IF DELIMITER NOT FIRST CHARACTER 00134 M01S00133.comcpop +++| POP7 SA1 B6 00135 M01S00134.comcpop +++| SX3 X1-1R$ 00136 M01S00135.comcpop +++| SB6 B6+B1 00137 M01S00136.comcpop +++| GT B6,B7,POP13 IF NO MORE CHARACTERS IN STRING BUFFER 00138 M01S00137.comcpop +++| NZ X3,POP11 IF NO DELIMITER 00139 M01S00138.comcpop +++| SA1 B6 00140 M01S00139.comcpop +++| SX3 X1-1R$ 00141 M01S00140.comcpop +++| SB6 B6+B1 00142 M01S00141.comcpop +++| GT B6,B7,POP10 IF NO MORE CHARACTERS IN STRING BUFFER 00143 M01S00142.comcpop +++| ZR X3,POP11 IF DOUBLE DELIMITER 00144 M01S00143.comcpop +++| POP8 SX3 X1-1R* 00145 M01S00144.comcpop +++| SB2 X1-1R$ 00146 M01S00145.comcpop +++| ZR X3,POP13 IF ILLEGAL SEPARATOR 00147 M01S00146.comcpop +++| ZR B2,POP13 IF ILLEGAL SEPARATOR 00148 M01S00147.comcpop +++| ZR X1,POP14 IF 00 CHARACTER 00149 M01S00148.comcpop +++| SB2 X1-1R9 00150 M01S00149.comcpop +++| SX3 X1-1R 00151 M01S00150.comcpop +++| LE B2,POP13 IF ALPHANUMERIC CHARACTER 00152 M01S00151.comcpop +++| NZ X3,POP14 IF NOT BLANK 00153 M01S00152.comcpop +++| POP9 SA1 B6 00154 M01S00153.comcpop +++| SB6 B6+B1 00155 M01S00154.comcpop +++| LE B6,B7,POP8 IF MORE CHARACTERS IN STRING BUFFER 00156 M01S00155.comcpop +++| POP10 BSS 0 00157 M01S00156.comcpop +++| RC2 IF -DEF,RCC 00158 M01S00157.comcpop +++| EQ POP13 SET ERROR FLAG - NO TERMINATOR 00159 M01S00158.comcpop +++| 00160 M01S00159.comcpop +++| RC2 ELSE 00161 M01S00160.comcpop +++| RJ AVC ADVANCE CONTROL CARD 00162 M01S00161.comcpop +++| ZR X2,POP13 IF NO CONTINUATION CARD 00163 M01S00162.comcpop +++| EQ POP9 CHECK FOR SEPARATOR 00164 M01S00163.comcpop +++| 00165 M01S00164.comcpop +++| RC2 ENDIF 00166 M01S00165.comcpop +++| 00167 M01S00166.comcpop +++| POP11 NZ B4,POP12 IF ASSEMBLY WORD NOT FULL 00168 M01S00167.comcpop +++| SA6 POPA+B5 STORE ASSEMBLY WORD 00169 M01S00168.comcpop +++| SB2 B5-POPL 00170 M01S00169.comcpop +++| PL B2,POP13 IF PARAMETER TOO LONG 00171 M01S00170.comcpop +++| SB4 60 00172 M01S00171.comcpop +++| BX6 X6-X6 00173 M01S00172.comcpop +++| SB5 B5+B1 00174 M01S00173.comcpop +++| POP12 SB4 B4-6 00175 M01S00174.comcpop +++| LX7 X1,B4 00176 M01S00175.comcpop +++| BX6 X6+X7 00177 M01S00176.comcpop +++| EQ POP7 CHECK NEXT CHARACTER 00178 M01S00177.comcpop +++| LT2 ENDIF 00179 M01S00178.comcpop +++| 00180 M01S00001.cpop1 +++| IF -DEF,POPL,1 00181 M01S00179.comcpop +++| POPL EQU 3 MAXIMUM PARAMETER LENGTH IN WORDS 00182 M01S00180.comcpop +++| POPA BSS POPL+1 ASSEMBLY BUFFER 00183 M01S00181.comcpop +++| RC3 IF DEF,RCC 00184 M01S00182.comcpop +++| AVC SPACE 4,20 00185 M01S00183.comcpop +++|** AVC - ADVANCE CONTROL CARD. 00186 M01S00184.comcpop +++|* 00187 M01S00185.comcpop +++|* ENTRY (X6) = PARAMETER ASSEMBLY. 00188 M01S00186.comcpop +++|* 00189 M01S00187.comcpop +++|* EXIT (X2) = 0, IF NO CONTINUATION CARD WAS FOUND. 00190 M01S00188.comcpop +++|* IF A CONTINUATION CARD WAS FOUND ((X2) .NE. 0), 00191 M01S00189.comcpop +++|* THE FOLLOWING EXIT CONDITIONS ARE RETURNED - 00192 M01S00190.comcpop +++|* (X6) = PARAMETER ASSEMBLY. 00193 M01S00191.comcpop +++|* (B6) = FWA STRING BUFFER. 00194 M01S00192.comcpop +++|* (B7) = LWA+1 DATA IN STRING BUFFER. 00195 M01S00193.comcpop +++|* 00196 M01S00194.comcpop +++|* USES A - 2, 6. 00197 M01S00195.comcpop +++|* B - 2, 7. 00198 M01S00196.comcpop +++|* X - 2, 6. 00199 M01S00197.comcpop +++|* 00200 M01S00198.comcpop +++|* CALLS SYS=, USB. 00201 M01S00199.comcpop +++| 00202 M01S00200.comcpop +++| 00203 M01S00201.comcpop +++| AVC PS ENTRY/EXIT 00204 M01S00202.comcpop +++| SA6 AVCA SAVE PARAMETER ASSEMBLY REGISTER
Line S00203 Modification History | |
---|---|
M01 (Added by) | comcpop |
M02 (Updated by) | ns2053 |
Seq # *Modification Id* Act ----------------------------+ 00205 M02S00203.ns2053 ---| CONTROL CCDR,RSS GET NEXT CONTROL CARD 00206 M01S00001.ns2053 +++| CONTROL CCDR,RSS,LF GET NEXT CONTROL CARD 00207 M01S00204.comcpop +++| SA2 CCDR 00208 M01S00205.comcpop +++| ZR X2,AVC IF NO CONTINUATION CONTROL CARD 00209 M01S00206.comcpop +++| CONTROL CCDR ADVANCE POINTERS 00210 M01S00207.comcpop +++| SB2 CCDR 00211 M01S00208.comcpop +++| RJ USB UNPACK TO STRING BUFFER 00212 M01S00209.comcpop +++| SA2 AVCA RESTORE PARAMETER ASSEMBLY REGISTER 00213 M01S00210.comcpop +++| BX6 X2 00214 M01S00211.comcpop +++| SB7 B7+B1 SET LWA+1 DATA IN STRING BUFFER 00215 M01S00212.comcpop +++| MX2 1 00216 M01S00213.comcpop +++| EQ AVC RETURN 00217 M01S00214.comcpop +++| 00218 M01S00215.comcpop +++| 00219 M01S00216.comcpop +++| AVCA BSS 1 ASSEMBLY REGISTER TEMPORARY 00220 M01S00217.comcpop +++| RC3 ENDIF 00221 M01S00218.comcpop +++| SPACE 4 00222 M01S00219.comcpop +++| QUAL$ IF -DEF,QUAL$ 00223 M01S00220.comcpop +++| QUAL * 00224 M01S00221.comcpop +++| POP EQU /COMCPOP/POP 00225 M01S00222.comcpop +++| POPA EQU /COMCPOP/POPA 00226 M01S00223.comcpop +++| QUAL$ ENDIF 00227 M01S00224.comcpop +++| BASE * 00228 M01S00225.comcpop +++| ENDX
cdc/nos2.source/opl.opl871/common/comcpop.txt ยท Last modified: by 127.0.0.1