cdc:nos2.source:opl.opl871:common:comcpop
Common COMCPOP
Library Member Format: MODIFY
Source
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
cdc/nos2.source/opl.opl871/common/comcpop.txt ยท Last modified: (external edit)