File: TECNUM.LS of Disk: V50/Source/Source-Listing-MAC-2
(Source file text)
PAGE LINE SUBTITLE 2 31 Cmd 0 2 32 Cmd 1 2 33 Cmd 2 2 34 Cmd 3 2 35 Cmd 4 2 36 Cmd 5 2 37 Cmd 6 2 38 Cmd 7 2 39 Cmd 8 2 40 Cmd 9 3 80 Cmd ) 3 90 Cmd ( 3 101 Cmd . 4 119 Cmd & 4 120 Cmd # 4 121 Cmd / 4 122 Cmd * 4 123 Cmd - 4 124 Cmd + 6 185 Cmd : 6 198 Cmd ^] *WM 7 204 Cmd F /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 1 FILE # 1 1 /4 TECO NUMBER PROCESSOR V50 2 3 / 08-APR-79 FIXED 8BIT BUG 4 5 .ENABLE 7BIT 6 7 .MACRO .ERROR ERNUM 8 .GLOBAL ERR'ERNUM 9 ERR'ERNUM: ERR 10 .ENDM 11 12 .MACRO .SORT ARG1,ARG2 13 SORT; ARG1; ARG2-ARG1 14 .ENDM 15 16 .GLOBAL CCPR,COPR,CDOT,TSTD,VT05A,NMBR 17 .GLOBAL CAMP,CNBS,CVIR,CAST,CMIN,CPLS 18 .GLOBAL CTL.UA,CTL.CB,NCOMCL,CCLN,ESCAPE,CHR.F 19 .GLOBAL NCOM,NRET,NMBR2,NMRBAS,NP,SCHTAB 20 21 .EXTERNAL ERR,NCHK,POPL,GETNUM,PUSHL,POPJ,PUTT,SORT 22 .ZTERNAL CHAR,ZM60,NMT,N,NLINK,Z11,NFLG 23 .ZTERNAL P,ZM12,Z7770,CLNF,CAAM 24 .EXTERNAL SCAN,MQLDVI,SCANUP 25 .EXTERNAL SCHINV,SCHSEP,CSWT1,SCHCTQ,SCHCTE,SCHUPA 26 .EXTERNAL CHR.FN,CHR.FS,CHR.FB 27 28 7344 MTWO=STA CLL RAL 29 7346 MTHREE=STA CLL RTL /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 2 FILE # 1 30 31 .SBTTL Cmd 0 32 .SBTTL Cmd 1 33 .SBTTL Cmd 2 34 .SBTTL Cmd 3 35 .SBTTL Cmd 4 36 .SBTTL Cmd 5 37 .SBTTL Cmd 6 38 .SBTTL Cmd 7 39 .SBTTL Cmd 8 40 .SBTTL Cmd 9 41 42 0200 .ASECT TECNUM 43 44 1200 *1200 45 46 01200 1000 * NMBR, TAD CHAR /NUMBER FOUND IN COMMAND STRING 47 01201 1000 * TAD ZM60 48 01202 3000 * NMBR2, DCA NMT 49 01203 7100 CLL 50 01204 0000 * NCHK /CHECK NUMBER FLAG 51 01205 5214 JMP NNEW /NOT UP, NEW OPERAND 52 01206 1336 TAD DOPR 53 01207 3217 DCA NOPR /USE SAME OPERATOR AS FOR THE PREVIOUS DIGITS 54 01210 1337 TAD NP /MULTIPLY PREV DIGITS BY 10 55 01211 7106 CLL RTL 56 01212 1337 NMRBAS, TAD NP /REPLACED BY "NOP" FOR OCTAL 57 01213 7104 CLL RAL /** COULD CHECK FOR OVERFLOW IN THIS AREA 58 01214 1000 * NNEW, TAD NMT 59 01215 3337 NCOM, DCA NP /CURRENT NUMBER 60 01216 1337 TAD NP 61 62 01217 7410 NOPR, SKP /DISPATCH JUMP FOR OPERATOR 63 01220 7061 CML CIA 64 01221 1325 TAD NACC /CURRENT EXPRESSION VALUE 65 01222 3000 * DCA N 66 01223 7004 RAL 67 01224 1314 TAD NACCLK /ADD IN OLD LINK 68 01225 7010 RAR 69 01226 7410 NSKIP, SKP /*WM 70 01227 3000 * NRET, DCA N 71 01230 7204 CLA RAL /*WM 72 01231 3000 * DCA NLINK /SAVE LINK FOR POSSIBLE COMPARISON TEST 73 01232 1217 TAD NOPR 74 01233 3336 DCA DOPR 75 01234 1313 TAD NULLOP 76 01235 3217 DCA NOPR /SET OPERATOR TO NULL OP 77 01236 7240 STA 78 01237 5304 JMP DCPOPJ /SET NUMBER FLAG AND EXIT /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 3 Cmd 9 FILE # 1 79 80 .SBTTL Cmd ) 81 82 01240 7326 CCPR, STL CLA RTL /2 83 01241 0000 * POPL 84 01242 1217 NOPR 85 01243 1325 NACC 86 01244 1314 NACCLK 87 01245 0000 * GETNUM 88 01246 5215 JMP NCOM /COMBINE OLD NUMBER AND PARENTHESIZED RESULT 89 90 .SBTTL Cmd ( 91 92 01247 7346 COPR, MTHREE 93 01250 0000 * PUSHL 94 01251 1314 NACCLK 95 01252 1325 NACC 96 01253 1217 NOPR 97 01254 3000 * DCA N 98 01255 3000 * DCA NLINK 99 01256 5275 JMP CPLS /CLEAN OUT INSIDE PARENS 100 101 .SBTTL Cmd . 102 103 01257 1000 * CDOT, TAD P /COMMAND . 104 /** COULD CAUSE ERROR IF NFLG SET 105 01260 5334 JMP NCOMCL 106 /NEWLNK, 0 107 108 /SKIP IF DIGIT 109 110 01261 0000 TSTD, 0 111 01262 1000 * TAD ZM60 112 01263 7100 CLL 113 01264 1000 * TAD ZM12 114 01265 7620 SNL CLA 115 01266 2261 ISZ TSTD 116 01267 5661 JMP I TSTD 117 /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 4 Cmd . FILE # 1 118 119 .SBTTL Cmd & 120 .SBTTL Cmd # 121 .SBTTL Cmd / 122 .SBTTL Cmd * 123 .SBTTL Cmd - 124 .SBTTL Cmd + 125 126 01270 7344 CAMP, MTWO /*K* LOGICAL AND ** 127 01271 1377 CNBS, TAD (NIOR-NDIV /LOGICAL OR 128 01272 1000 * CVIR, TAD Z11 /DIVISION 129 01273 1376 CAST, TAD (NMPY&177+5200-7400 /MULTIPLICATION 130 01274 1000 * CMIN, TAD Z7770 /SUBTRACTION 131 01275 1226 CPLS, TAD NSKIP /ADDITION 132 01276 3217 DCA NOPR /COMMON TO ALL NUMERIC OPERATORS 133 01277 1000 * TAD N 134 01300 3325 DCA NACC 135 01301 1000 * TAD NLINK 136 01302 3314 DCA NACCLK 137 01303 3337 DCA NP 138 01304 3000 * DCPOPJ, DCA NFLG /CLEAR NUMBER FLAG 139 01305 0000 * POPJ 140 141 01306 0325 NAND, AND NACC /BITWISE AND OF BINARY NUMBERS 142 01307 5227 JMP NRET /** KEEP THESE TWO OPNS TOGETHER 143 01310 7040 NIOR, CMA /BITWISE OR OF BINARY VALUES 144 01311 0325 AND NACC 145 01312 1337 TAD NP 146 01313 5227 NULLOP, JMP NRET 147 148 01314 0000 NACCLK, 0 /LINK OF EXPRESSION WITHOUT NP 149 01315 7041 NMPY, CIA /*** REALLY OUGHT TO IMPLEMENT 13-BIT MULTIPLY 150 01316 3331 DCA ND 151 01317 1314 TAD NACCLK 152 01320 7110 CLL RAR /SET UP OLD LINK 153 01321 1325 TAD NACC 154 01322 2331 ISZ ND 155 01323 5321 JMP .-2 156 01324 5227 JMP NRET 157 01325 0000 NACC, 0 /VALUE OF EXPRESSION WITHOUT NP 158 01326 3331 NDIV, DCA ND 159 01327 1325 TAD NACC 160 01330 0000 * MQLDVI 161 01331 0000 ND, 0 162 01332 5227 JMP NRET /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 5 Cmd + FILE # 1 163 164 01333 0000 * CTL.UA, SCAN /^^ COMMAND - VALUE OF NEXT CHAR IN COMMAND LINE 165 01334 7100 NCOMCL, CLL 166 01335 5215 JMP NCOM /GO INTO NUMBER PROCESSOR 167 168 01336 0000 DOPR, 0 /PREVIOUS OPERATOR 169 01337 0000 NP, 0 /VALUE OF CURRENT NUMBER 170 171 /SEARCH STRING MODIFIERS ^N,^Q,^S, AND ^X 172 173 **** * S.NOT==SCHINV&177+5200 174 **** * S.SEP==SCHSEP&177+5200 175 **** * S.ANY==CSWT1&177+5200 176 177 01340 0000 * SCHTAB, S.NOT /^N: ANYTHING BUT 178 01341 0000 * SCHCTQ /^Q: LITERALLY 179 01342 0000 * S.SEP /^S: ANY SEPARATOR 180 01343 0000 * S.ANY /^X: ANYTHING 181 01344 0000 * SCHCTQ /^R 182 01345 0000 * SCHCTE /^E 183 01346 0000 * SCHUPA /^ (MUST BE LAST ENTRY) /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 6 Cmd + FILE # 1 184 185 .SBTTL Cmd : 186 187 01347 7240 CCLN, STA 188 01350 3000 * DCA CLNF 189 01351 0000 * POPJ 190 191 01352 0000 ESCAPE, 0 192 01353 1000 * TAD CAAM /TYPE ESCAPE 193 01354 0000 * VT05A, PUTT 194 01355 1752 TAD I ESCAPE 195 01356 0000 * PUTT /TYPE ARGUMENT 196 01357 5752 JMP I ESCAPE /OK TO RETURN TO ARGUMENT 197 198 .SBTTL Cmd ^] *WM 199 200 01360 6031 CTL.CB, KSF /IS THERE INPUT WAITING? *VT52 CIF CDF 30 201 01361 7360 STL STA /IF NO INPUT -1 *VT52 JMP I .+1 202 01362 5215 JMP NCOM /IF INPUT =0 *VT52 VTCCB /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 7 Cmd ^] *WM FILE # 1 203 204 .SBTTL Cmd F 205 206 01363 0000 * FTAB, CHR.FN 207 01364 0000 * CHR.FS 208 01365 0000 * CHR.FB 209 01366 0116 FLST, "N /FN 210 01367 0123 "S /FS 211 01370 0137 "_ /F_ 212 213 01371 0000 * CHR.F, SCANUP /COMMAND F 214 .SORT FLST,FTAB 215 .ERROR 31 /BAD F COMMAND ------ 01376 5715 01377 7762 216 1400 PAGE /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 8 Cmd F FILE # 1 217 /4 TECO NUMBER PROCESSOR V50 MACREL-V2C FRI 07-DEC-90 PAGE 9 SYMBOL TABLE CAAM Z 0*** NULLOP 1313 CAMP G 1270 P Z 0*** CAST G 1273 POPJ X **** CCLN G 1347 POPL X **** CCPR G 1240 PUSHL X **** CDOT G 1257 PUTT X **** CHAR Z 0*** SCAN X **** CHR.F G 1371 SCANUP X **** CHR.FB X **** SCHCTE X **** CHR.FN X **** SCHCTQ X **** CHR.FS X **** SCHINV X **** CLNF Z 0*** SCHSEP X **** CMIN G 1274 SCHTAB G 1340 CNBS G 1271 SCHUPA X **** COPR G 1247 SORT X **** CPLS G 1275 S.ANY G 0000+ S.ANY CSWT1 X **** S.NOT G 0000+ S.NOT CTL.CB G 1360 S.SEP G 0000+ S.SEP CTL.UA G 1333 TECNUM 1400 ASECT CVIR G 1272 TSTD G 1261 DCPOPJ 1304 VT05A G 1354 DOPR 1336 ZM12 Z 0*** ERR X **** ZM60 Z 0*** ERR31 G 1375 Z11 Z 0*** ESCAPE G 1352 Z7770 Z 0*** FLD: 0 0200 ASECT .ERROR M 0000 FLST 1366 .SORT M 0000 FTAB 1363 GETNUM X **** MQLDVI X **** MTHREE 7346 MTWO 7344 N Z 0*** NACC 1325 NACCLK 1314 NAND 1306 NCHK X **** NCOM G 1215 NCOMCL G 1334 ND 1331 NDIV 1326 NFLG Z 0*** NIOR 1310 NLINK Z 0*** NMBR G 1200 NMBR2 G 1202 NMPY 1315 NMRBAS G 1212 NMT Z 0*** NNEW 1214 NOPR 1217 NP G 1337 NRET G 1227 NSKIP 1226