1 / P?S/8 PAL ASSEMBLER 2 3 / THE PDP-8 ASSEMBLER (AND LINC CROSS-ASSEMBLER) FOR THE P?S/8 MONITOR SYSTEM. 4 5 / THIS IS INTERNAL EDIT NUMBER: 392. 6 7 / LAST EDIT: 06-OCT-1987 19:00:00 CJL 8 9 / MUST BE ASSEMBLED WITH '/J' SWITCH SET. 10 / PAL ASSEMBLER FOR THE P?S/8 MONITOR SYSTEM. 11 12 /ORIGINAL CODE (FOR THE R. L. MONITOR), HASH 13 /AND SYMBOL SORT RESEARCH (ORIGINAL) BY: 14 15 / JAMES W. ROTH 16 / POLY QUESTION SOCIETY 17 / DIGITAL EQUIPMENT CORPORATION 18 19 20 /BUGS CORRECTED BY, OPTIMIZATION OF CORE, 21 /LITERAL PROCESSOR (LATEST), TITLES (LATEST), 22 /LINC MODE, SWITCH ONCE-ONLY CODE (FINAL), 23 /INPUT BUFFERING (FINAL), SYMBOL TABLE LOADING 24 /AND PRINTING ROUTINES, STATEMENT SEQUENCE 25 /NUMBERING, FULL RECURSIVE EQUATE HANDLING 26 /(INCLUDING FIXMRI), ARITHMETICS (LATEST), 27 /CROSS REFERENCE INTERCEPT ROUTINES, <^C>, 28 /<^S>/<^Q>, <^O> SUPPORT, DAY AND DATE 29 /HANDLING, CONSOLE SUPPORT, 256K SUPPORT, 30 /BOOTSTRAP UNIT AND PROPER /U HANDLING, 31 /LOGICAL LINEPRINTER SUPPORT, AND 32 /ADDITIONAL FEATURES BY: 33 34 / CHARLES J. LASNER 35 / POLY QUESTION SOCIETY 36 / MOUNT SINAI MEDICAL CENTER 37 / WESTERN UNION TELEPROCESSING INC. 38 / UNITED TELEPHONE SERVICES CORP. 39 / MERGENTHALER LINOTYPE CO. 40 / COLUMBIA UNIVERSITY 41 / TLF INC. 42 / ROCKEFELLER UNIVERSITY 43 / CRYPTEL INC. 44 / PR NEWSWIRE INC. 45 / VICKERS AMERICA MEDICAL CORP. 46 / CENTAUR TECHNOLOGY INC. 47 / ICHOR INC. 48 / STARCOM INC. 49 / N. U. S. C. NEWPORT, R. I. 50 /VARIABLE INPUT BUFFERING (ORIGINAL, NOW 51 /PARTIALLY OBSOLETE), TITLES (ORIGINAL), 52 /CROSS REFERENCE RESEARCH, MISTAKES BY THE 53 /OTHER TWO GUYS CORRECTED, INSPECTED, DETECTED, 54 /REJECTED, INFECTED, AND INJECTED BY: 55 56 / ROD DORMAN 57 / POLY QUESTION SOCIETY 58 / COMMUNITY TREATMENT FOUNDATION OF 59 / NEW YORK STATE 60 / HOSKYNS INC. 61 / UNITED TELEPHONE SERVICES CORP. 62 / TLF INC. 63 / QANTEL INC. 64 / CRYPTEL INC. 65 / CITI-BANK 66 / PR NEWSWIRE INC. 67 68 69 /LITERALS (ORIGINAL), MORE MISTAKES, LISTAPE 70 /(ORIGINAL), SWITCHES (ORIGINAL), CHAIN LOOKUP 71 /(ORIGINAL), AND MORE MISTAKES BY: 72 73 / SCOTT RIKER 74 / POLY QUESTION SOCIETY 75 / DWIGHT FRYE FAN CLUB 76 / NEW YORK UNIVERSITY 77 / MERGENTHALER LINOTYPE CO. 78 79 80 /CORE MANAGEMENT, SWITCH ORGANIZATION (PARTIAL) 81 /HASHED AND SORTED SYMBOL TABLE HANDLING 82 /ROUTINES, OPTIMIZED SYMBOL-HANDLING ROUTINE 83 /CALLING SEQUENCES, CHAIN LOOKUP (LATEST) BY: 84 85 / SIDNEY J. DUNAYER 86 / POLY QUESTION SOCIETY 87 / POLYTECHNIC INSTITUTE OF BROOKLYN 88 / EQUITABLE LIFE 89 / BANKERS TRUST COMPANY 90 / DEAN WITTER & CO. INC. 91 / (FIRST NATIONAL) CITI-BANK 92 / PROGRESSIVE CYBERNETIC SERVICES 93 /FANCY SYMBOL TABLE PRINT AND OTHER ASSORTED 94 /INSPIRATION, ASSISTANCE, AND HINDRANCE BY: 95 96 / ROBERT W. HARPER, JR. 97 / P?S NORTHEASTERN REGIONAL ANNEX 98 / SYKES DATATRONICS INC. 99 / MERGENTHALER LINOTYPE CO. 100 / UNITED TELEPHONE SERVICES CORP. 101 / ROCKEFELLER UNIVERSITY 102 / A. T. T. 103 104 105 /SEER + OVERSEER: 106 107 / MARIO DENOBILI 108 / POLY QUESTION SOCIETY, M. I. E. 109 110 111 /SPIRITUAL GUIDANCE: 112 113 / RICHARD LARY 114 / POLY HACKING FAMILY: 115 / W. C. F. M. P. G. 116 / FRIENDS OF THE BOSTON MASSACRE 117 / DIGITAL EQUIPMENT CORPORATION 118 / DWIGHT FRYE INTERNATIONAL FAN CLUB 119 /SUSTINENCE BY: 120 121 / LIN'S GARDEN RESTAURANT 122 / CHINATOWN, N. Y., U. S. A. 123 124 / MEI'S RESTAURANT 125 / FRAMINGHAM, MASS., U. S. A. 126 127 / SZECHUAN GARDEN RESTAURANT 128 / CHINATOWN, N. Y., U. S. A. 129 130 / TUNG LAI SHUN PEKING RESTAURANT 131 / CHINATOWN, N. Y., U. S. A. 132 133 / HUNAN HOUSE RESTAURANT 134 / CHINATOWN, N. Y., U. S. A. 135 136 / HUNAN GARDEN RESTAURANT 137 / CHINATOWN, N. Y., U. S. A. 138 139 / CHUAN YUAN RESTAURANT 140 / BROOKLYN HEIGHTS, N. Y., U. S. A. 141 142 / HUNAN TASTE RESTAURANT 143 / CHINATOWN, N. Y., U. S. A. 144 145 / TING FU GARDEN RESTAURANT 146 / CHINATOWN, N. Y., U. S. A. 147 148 / CHINA STAR RESTAURANT 149 / MIDDLE VILLAGE, N. Y., U. S. A. 150 151 / HUNAN YUAN RESTAURANT 152 / REGO PARK, N. Y., U. S. A. 153 154 155 156 157 158 / DEDICATION 159 160 161 162 / THIS ASSEMBLY IS DEDICATED TO 163 / 164 / 165 / MARIO (-----) DENOBILI 166 / ^ 167 / ^ EMPER0R, POLY ? SOCIETY 168 / ^ 169 / ^ 170 / ^ 171 / ^ <= <= <= <= CENSORED BY MARIO 172 173 174 / WITHOUT WHOSE ASSISTANCE AND CONSTANT VIGIL WE COULD'VE GOTTEN 175 / RICHARD LARY TO HELP US GET IT DONE A LOT SOONER. 176 / THIS ASSEMBLER WILL GENERATE ITS OWN SYMBOL TABLE AND NEED NOT HAVE ANY 177 / SYMBOLS OUTSIDE OF SOME COMMON PDP-8 SYMBOLS, A FEW OF WHICH FOLLOW: 178 179 / EXPUNGE /ELIMINATE OLD SYMBOL TABLE 180 181 182 / FIXMRI SYMBOLS. 183 184 FIXMRI AND= 0000 /AND ADDRESS WITH AC 185 FIXMRI DCA= 3000 /DEPOSIT INTO ADDRESS AND CLEAR AC 186 FIXMRI INC= 2000 /INCREMENT ADDRESS ASSUMING IT DOESN'T SKIP ON ZERO 187 FIXMRI ISZ= 2000 /INCREMENT ADDRESS AND SKIP IF ZERO 188 FIXMRI JMP= 5000 /JUMP ADDRESS 189 FIXMRI JMS= 4000 /JUMP TO SUBROUTINE ADDRESS 190 FIXMRI TAD= 1000 /TWO'S COMPLEMENT ADD ADDRESS TO AC 191 192 / NONMRI SYMBOLS. 193 194 ACL= 7701 /AC LOAD FROM MQ 195 ASC= 7403 /AC TO STEP COUNTER 196 ASR= 7415 /ARITHMETIC SHIFT RIGHT 197 BSW= 7002 /BYTE SWAP 198 CAF= 6007 /CLEAR ALL FLAGS 199 CAM= 7621 /CLEAR AC AND MQ 200 CDF= 6201 /CHANGE DATA FIELD 201 CIA= 7041 /COMPLEMENT AND INCREMENT AC 202 CIF= 6202 /CHANGE INSTRUCTION FIELD 203 CINT= 6204 /CLEAR USER INTERRUPT 204 CLA= 7200 /CLEAR THE ACCUMULATOR 205 CLL= 7100 /CLEAR THE LINK 206 CMA= 7040 /COMPLEMENT AC 207 CML= 7020 /COMPLEMENT LINK 208 CUF= 6264 /CLEAR USER FLIP-FLOP 209 DAD= 7443 /DOUBLE PRECISION ADD 210 DCM= 7575 /DOUBLE PRECISION COMPLEMENT 211 DDZ= 7665 /DOUBLE PRECISION DEPOSIT ZERO 212 DLD= 7663 /DOUBLE PRECISION LOAD 213 // DL0001= 7773 /DOUBLE PRECISION LOAD CONSTANT 0000 0001 214 DPIC= 7573 /DOUBLE PRECISION INCREMENT 215 DPSZ= 7451 /DOUBLE PRECISION SKIP IF ZERO 216 DST= 7445 /DOUBLE PRECISION STORE 217 DTCA= 6762 /CLEAR DECTAPE STATUS "A" 218 DTLA= 6766 /LOAD DECTAPE STATUS "A" 219 DTLB= 6774 /LOAD DECTAPE STATUS "B" 220 DTRA= 6761 /READ DECTAPE STATUS "A" 221 DTRB= 6772 /READ DECTAPE STATUS "B" 222 DTSF= 6771 /SKIP ON DECTAPE OR ERROR FLAG 223 DTXA= 6764 /XOR DECTAPE STATUS "A" 224 DVI= 7407 /DIVIDE 225 EAE= 7401 /EAE NOP 226 GLK= 7204 /GET LINK 227 GTF= 6004 /GET FLAGS 228 HLT= 7402 /HALT CPU 229 IAC= 7001 /INCREMENT ACCUMULATOR 230 IOF= 6002 /INTERRUPT OFF 231 ION= 6001 /INTERRUPT ON 232 IOT= 6000 /IOT NOP 233 KCC= 6032 /KEYBOARD CLEAR AND CAUSE READER TO RUN 234 KCF= 6030 /KEYBOARD CLEAR FLAG ONLY 235 KIE= 6035 /KEYBOARD/PRINTER INTERRUPT ENABLE/DISABLE 236 KRB= 6036 /KEYBOARD READ BUFFER AND CLEAR FLAG 237 KRS= 6034 /KEYBOARD READ STATIC 238 KSF= 6031 /KEYBOARD SKIP ON FLAG 239 LAS= 7604 /LOAD ACCUMULATOR FROM CONSOLE SWITCHES 240 LSR= 7417 /LOGICAL SHIFT RIGHT 241 MQA= 7501 /MQ OR WITH AC 242 MQL= 7421 /MQ LOAD FROM AC, CLEAR AC 243 MUY= 7405 /MULTIPLY 244 NMI= 7411 /NORMALIZE 245 NOP= 7000 /NO OPERATION 246 NOPSKP= 7400 /SKIP GROUP NOP 247 OPR= 7000 /OPERATE CLASS NOP 248 OSR= 7404 /OR AC WITH CONSOLE SWITCHES 249 PCE= 6020 /CLEAR PUNCH/READER INTERRUPT ENABLE 250 PCF= 6022 /CLEAR PUNCH FLAG 251 PLS= 6026 /PUNCH LOAD BUFFER SEQUENCE 252 PPC= 6024 /PUNCH LOAD BUFFER AND PUNCH CHARACTER 253 PSF= 6021 /PUNCH SKIP ON FLAG 254 RAL= 7004 /ROTATE AC AND LINK LEFT 255 RAR= 7010 /ROTATE AC AND LINK RIGHT 256 RCC= 6016 /READ BUFFER, CLEAR FLAG AND FETCH NEW CHARACTER 257 RDF= 6214 /READ DATA FIELD 258 RFC= 6014 /READER FETCH NEW CHARACTER 259 RIB= 6234 /READ INTERRUPT BUFFER 260 RIF= 6224 /READ INSTRUCTION FIELD 261 RMF= 6244 /RESTORE MEMORY FIELDS 262 RPE= 6010 /READER/PUNCH INTERRUPT ENABLE 263 RRB= 6012 /READ READER BUFFER 264 RSF= 6011 /READER SKIP ON FLAG 265 RTF= 6005 /RESTORE FLAGS 266 RTL= 7006 /ROTATE AC AND LINK TWICE LEFT 267 RTR= 7012 /ROTATE AC AND LINK TWICE RIGHT 268 SAM= 7457 /SUBTRACT AC FROM MQ 269 SCA= 7441 /STEP COUNTER OR INTO AC 270 SCL= 7403 /STEP COUNTER LOAD 271 SGT= 6006 /SKIP ON GREATER-THAN FLAG 272 SHL= 7413 /SHIFT LEFT 273 SINT= 6254 /SKIP ON USER INTERRUPT 274 SKON= 6000 /SKIP IF INTERRUPT ON AND TURN IT OFF 275 SKP= 7410 /UNCONDITIONAL SKIP 276 SMA= 7500 /SKIP ON MINUS ACCUMULATOR 277 SNA= 7450 /SKIP ON NON-ZERO ACCUMULATOR 278 SNL= 7420 /SKIP ON NON-ZERO LINK 279 SPA= 7510 /SKIP ON POSITIVE OR ZERO ACCUMULATOR 280 SRQ= 6003 /SKIP ON INTERRUPT REQUEST 281 STA= 7240 /SET ALL BITS OF AC 282 STL= 7120 /SET LINK ON 283 SUF= 6274 /SET USER FLIP-FLOP 284 SWAB= 7431 /SWITCH TO MODE "B" 285 SWBA= 7447 /SWITCH TO MODE "A" 286 SWP= 7521 /SWAP AC AND MQ 287 SZA= 7440 /SKIP ON ZERO ACCUMULATOR 288 SZL= 7430 /SKIP ON ZERO LINK 289 TCF= 6042 /TELETYPE PRINTER CLEAR FLAG 290 TFL= 6040 /TELETYPE FLAG SET 291 TLS= 6046 /TELETYPE LOAD BUFFER SEQUENCE 292 TPC= 6044 /TELETYPE LOAD BUFFER AND PRINT 293 TSF= 6041 /TELETYPE SKIP ON FLAG 294 TSK= 6045 /TELETYPE/READER SKIP ON FLAG (EITHER) 295 296 / INSERT FURTHER SYMBOLS HERE FOR ASSEMBLY PURPOSES ONLY. 297 298 / MICRO-OPERATE DEFINITIONS. 299 300 NL0000= CLA /SET AC TO ZERO ZERO ZERO ZERO 301 NL0001= CLA IAC /SET AC TO ONE 302 NL0002= CLA CLL CML RTL /SET AC TO TWO 303 NL2000= CLA CLL CML RTR /SET AC TO TWO THOUSAND 304 NL3777= CLA CLL CMA RAR /SET AC TO THREE SEVEN SEVEN SEVEN 305 NL4000= CLA CLL CML RAR /SET AC TO FOUR THOUSAND 306 NL5777= CLA CLL CMA RTR /SET AC TO FIVE SEVEN SEVEN SEVEN 307 NL7775= CLA CLL CMA RTL /SET AC TO MINUS THREE 308 NL7776= CLA CLL CMA RAL /SET AC TO MINUS TWO 309 NL7777= CLA CMA /SET AC TO SEVEN SEVEN SEVEN SEVEN 310 / ERROR DEFINITIONS. 311 312 ERRSYM= 2000 /PRINT SYMBOL WITH ERROR 313 ERROCT= 4000 /PRINT OCTAL NUMBER WITH ERROR 314 315 BE= "B-300^45+"E-300 /LITERAL BUFFER EXCEEDED 316 BO= "B-300^45+"O-300 /BINARY OUTPUT OVERFLOW 317 CO= "C-300^45+"O-300 /CONDITIONAL ASSEMBLY ERROR 318 DT= "D-300^45+"T-300+ERRSYM /DUPLICATE TAG 319 ER= "E-300^45+"R-300+ERROCT /USER ERROR 320 FI= "F-300^45+"I-300 /FIXMRI ERROR 321 IC= "I-300^45+"C-300+ERROCT /ILLEGAL CHARACTER 322 IE= "I-300^45+"E-300 /ILLEGAL EXPRESSION 323 II= "I-300^45+"I-300 /ILLEGAL INDIRECT 324 IM= "I-300^45+"M-300 /INSUFFICIENT MEMORY 325 IP= "I-300^45+"P-300+ERRSYM /ILLEGAL PSEUDO-OP REDEFINITION ATTEMPT 326 IR= "I-300^45+"R-300+ERROCT /ILLEGAL REFERENCE 327 LG= "L-300^45+"G-300 /LINK GENERATED 328 NE= "N-300^45+"E-300 /NULL LITERAL TERM 329 NU= "N-300^45+"U-300 /NUMERICAL ERROR 330 PA= "P-300^45+"A-300+ERROCT /PAUSE MESSAGE 331 PE= "P-300^45+"E-300 /PAGE EXCEEDED 332 PH= "P-300^45+"H-300 /CONDITIONAL ASSEMBLY PHASE ERROR 333 PO= "P-300^45+"O-300 /PUSHDOWN OVERFLOW 334 ST= "S-300^45+"T-300+ERRSYM /SYMBOL TABLE EXCEEDED 335 SY= "S-300^45+"Y-300 /SYNTAX ERROR 336 UF= "U-300^45+"F-300 /UNDEFINED FIELD 337 UO= "U-300^45+"O-300 /UNDEFINED ORIGIN 338 US= "U-300^45+"S-300+ERRSYM /UNDEFINED SYMBOL 339 ZE= "Z-300^45+"E-300 /ZERO PAGE EXCEEDED 340 341 / N.B.: 342 343 / "PA" IS NOT AN ERROR, RATHER IT IS A USER INVOKED FEATURE. 344 / "ER" IS AN ERROR CAUSED BY INVOKING THE "ERROR" PSEUDO-OP. 345 / ASSEMBLER SWITCH OPTIONS. 346 347 / /A USE ALL SYMBOLS WHERE APPLICABLE INCLUDING PERMANENT SYMBOLS. 348 / /B USE %:[BOOTSTRAP UNIT] FOR BINARY. OVERRIDDEN IF BINARY OUTPUT FILES 349 / PASSED. INTERNALLY SET IF ANY BINARY OUTPUT SHOULD OCCUR TO FORCE A 350 / SECOND PASS WITH BINARY OUTPUT PROCESSING. OTHER SWITCHES MAY SET /B. 351 / /C OPTIMIZE MEMORY UTILIZATION BY MINIMIZING BUFFER SPACE IN FIELD 0 AND 352 / ATTEMPTING TO GET ANOTHER (PARTIAL) FIELD ABOVE THE CURRENT CORE-SIZE 353 / LIMIT. THIS RESULTS IN A SLOWER ASSEMBLY, BUT USES LESS MEMORY, MAKING 354 / POSSIBLE ASSEMBLIES OTHERWISE IMPOSSIBLE. 355 / /D SET /B AND USE $:[BOOTSTRAP UNIT] FOR BINARY AS WELL. OVERRIDDEN IF 356 / BINARY OUTPUT FILES. 357 / /E FORGET LITERAL BOUNDARIES WHEN RE-ENTERRING A PREVIOUS PAGE. NEEDED 358 / FOR RELOCATED PAGES IN OVERLAYS. 359 / /F SET /G AND /W AND INDICATE USE OF HIGH-SPEED PUNCH. 360 / /G CHAIN TO BIN:[BOOTSTRAP UNIT] IF NO ASSEMBLY ERRORS. OTHER SWITCHES 361 / MAY BE INCLUDED TO PASS ADDITIONAL LOADER OPTIONS. 362 / /H SET /G AND INDICATE STORING OF HALT (7402) IN ALL USER MEMORY. 363 / /I SET /G AND INDICATE RELOADING OF SYSTEM I/O HANDLER AFTER LOADING 364 / (IGNORED IF /V ALSO PASSED OR SYSTEM USES VIRTUAL LOADER BY DEFAULT). 365 / /J DO NOT GENERATE TRAILING WORD OF ZERO ON EVEN-LENGTH TEXT MESSAGES. 366 / /K DUAL MEANING - IF /L AND /N ARE SET: GENERATE A NEW TITLE FROM THE 367 / FIRST LINE OF EVERY FILE, NOT JUST THE FIRST FILE. IF /L IS NOT SET: 368 / FORCE A SECOND PASS EVEN IF /B IS NOT SET SO THAT SECOND PASS CAN BE 369 / PERFORMED (ALONG WITH ANY ADDITIONAL ERROR MESSAGES IN THE SECOND PASS). 370 / THIS ALLOWS A TWO-PASS ASSEMBLY WITH NO LISTING AND NO BINARY. 371 / /L ENABLE SECOND PASS LISTING. OTHER SWITCHES MAY ENHANCE THE OUTPUT. 372 / /M SET /B AND CHAIN TO MAP:[BOOTSTRAP UNIT] AFTER END OF ASSEMBLY. IF /G 373 / THEN MAP WILL CHAIN TO BIN:[BOOTSTRAP UNIT] AT END OF THE MAP PRINTOUT 374 / IF NO ASSEMBLY ERRORS. 375 / /N ENABLE NEATNESS OPTIONS ON ALL APPROPRIATE OUTPUT. ENABLES TITLES ON 376 / THE LISTING IF /L AND PAGINATED LISTINGS OF ERROR MESSAGES IF /L NOT 377 / ENABLED. CHECKS FOR SYSTEM LPT: AND REDIRECTS ALL PRINTED OUTPUT TO LPT: 378 / IF AVAILABLE. SEE ALSO /K. 379 / /O ENABLE LITERALS. USED WITHOUT /Q TO ENABLE OFF-PAGE REFERENCE FIXUPS 380 / (LINKS) WITH "LG" ERROR MESSAGE. IF /Q THEN DISABLE "LG" ERRORS. 381 / /P ENABLE WIDE (PRINTER) TYPE OUTPUT ON SYMBOL TABLE, XREF, AND MAP 382 / OUTPUT (IF ANY). NOT PASSED TO BIN IF /G (DELETED BY MAP IF /M). 383 / /Q ENABLE LITERALS. SEE ALSO /O. 384 / /R SET /G AND /W INDICATING USE OF RIM FORMAT PUNCHED OUTPUT. SEE ALSO /F. 385 / /S ENABLE SYMBOL TABLE AT END OF FINAL PASS (1 OR 2). SEE ALSO 386 / /A AND /K AND /N. 387 / /T DISABLE CHECK FOR SYSTEM LPT: SO OUTPUT GOES TO SYSTEM CONSOLE EVEN IF 388 / /N IS IN EFFECT AND LPT: IS AVAILABLE. 389 / /U SET /B AND USE %:[BOOTSTRAP UNIT XOR-ED WITH 0001] ALSO $:[BOOTSTRAP 390 / UNIT XOR-ED WITH 0001] IF /D. OVERRIDEN IF BINARY OUTPUT FILES. 391 / /V SET /G AND INDICATE USE OF VIRTUAL LOADER. 392 / /W SET /G AND INDICATE PUNCHING OF BINARY OUTPUT FILES. SEE ALSO /F AND /R. 393 / /X IF /L THEN ENABLE CROSS-REFERENCE OUTPUT PROCESSING. SEE ALSO /A AND /P. 394 / /Y "!" DOES A BYTE SHIFT (^100!) INSTEAD OF INCLUSIVE OR. 395 / /Z SET /G AND INDICATE STORING OF ZERO IN ALL USER MEMORY. 396 / /0 FIELD SETTINGS GENERATE AN AUTOMATIC *0200. 397 / /1-/7 STARTING FIELD SWITCHES PASSED TO BIN. IF CHAINING TO MAP, THESE 398 / SWITCHES ARE IGNORED BY MAP BUT WILL BE PASSED IF CHAINING FURTHER TO 399 / BIN (/M AND /G AND NO ASSEMBLY ERRORS). 400 / /8 ENABLE LINC MODE CROSS-ASSEMBLY FEATURES AND START ASSEMBLY 401 / IN PMODE AT 000200. 402 / /9 ENABLE LINC MODE CROSS-ASSEMBLY FEATURES AND START ASSEMBLY 403 / IN LMODE AT 004020. 404 / =XXXX SET /G AND PASS THE VALUE AS A STARTING ADDRESS TO BIN. 405 406 / OPTION SWITCH DEFAULT MODIFICATION. 407 408 / ALL SWITCHES CAN BE INVERTED IN SENSE BY SETTING THE CORRESPONDING 409 / SWITCHES IN THE THREE WORDS STARTING AT "OPTLST". THE SWITCHES ARE XOR-ED 410 / WITH THESE VALUES INTERNALLY BEFORE ANY OPTION SWITCHES ARE ACTED UPON. 411 412 / EXAMPLE: 413 414 / TO PERMANENTLY ENABLE LITERALS BY DEFAULT (AS IF /Q WERE ALWAYS SET, 415 / AND REQUIRING /Q TO BE GIVEN WHEN IT IS ACTUALLY MEANT TO BE TURNED 416 / OFF!) CHANGE LOCATION "OPTLST+1" FROM 0000 TO 0200. 417 / MISCELLANEOUS EQUATED SYMBOLS. 418 419 BINADR= 0020 /% BLOCK 420 BSGRP= 0003 /(1984-1960)%8 IS BASE GROUP 421 DOLBLK= 0040 /$ BLOCK 422 INCON= 0031 /EQUATED FROM CONSOLE! 423 JMPC= JMP . /CURRENT PAGE JUMP 424 JMPIC= JMP I . /CURRENT PAGE INDIRECT JUMP 425 JMSC= JMS . /CURRENT PAGE DIRECT SUBROUTINE CALL 426 JMSI= JMS I 0 /PAGE ZERO INDIRECT SUBROUTINE CALL 427 JMSIC= JMS I . /CURRENT PAGE INDIRECT SUBROUTINE CALL 428 LPT= 0066 /SYSTEM LINEPRINTER DEVICE CODE 429 OUTCON= 0033 /EQUATED FROM CONSOLE! 430 OUTLPT= 0035 /EQUATED FROM CONSOLE! 431 REVISIO="S&77 /REVISION LETTER OF ASSEMBLER 432 SBLOCK= 7635 /SYSTEM LOADER BLOCK ARGUMENT LOCATION 433 SBOOT= 7600 /SYSTEM BOOTSTRAP ADDRESS 434 SBTFUN= 7602 /SYSTEM BOOTSTRAP FUNCTION 435 SCORE= 7633 /SYSTEM LOADER CORE ARGUMENT LOCATION 436 SCRSIZE=7611 /POINTER TO MEMORY CONFIGURATION WORD 437 SDATE= 7610 /SYSTEM DATE WORD 438 SFILES= 7757 /FILE ARGUMENTS START HERE 439 SFUN= 7634 /SYSTEM LOADER FUNCTION ARGUMENT LOCATION 440 SLOAD= 7632 /LOCATION OF SYSTEM LOADER 441 SOUTFLS=7607 /NUMBER OF PASSED OUTPUT FILES 442 SPARM= 7756 /SYSTEM EQUALS PARAMETER 443 SWAL= 7604 /PASSED SWITCHES /A-/L 444 SWMX= 7605 /PASSED SWITCHES /M-/X 445 SWY9= 7606 /PASSED SWITCHES /Y-/9 446 SYSCAT= 0063 /SYSTEMS CATALOG 447 SYSIO= 7640 /SYSTEM I/O ROUTINE ENTRY POINT 448 SYSTART=7637 /SYSTEM LOADER SYSTEM START LOCATION 449 TADC= TAD . /CURRENT PAGE ADD 450 TTY= 0003 /SYSTEM CONSOLE DEVICE CODE 451 VERSION="8-"0 /VERSION NUMBER OF ASSEMBLER 452 WRITE= 4000 /SYSIO WRITE BIT 453 454 JMSSYSI=SYSIO&177+JMSC /CALL TO SYSIO FROM ITS OWN PAGE 455 KCCIOT= TTY^10+6002 /CLEAR KEYBOARD FLAG 456 KRSIOT= TTY^10+6004 /READ KEYBOARD BUFFER 457 KSFIOT= TTY^10+6001 /SKIP ON KEYBOARD FLAG 458 LLSIOT= LPT^10+6006 /OUTPUT CHARACTER TO LINEPRINTER 459 LSFIOT= LPT^10+6001 /SKIP ON LINEPRINTER FLAG 460 TLSIOT= TTY+1^10+6006 /OUTPUT CHARACTER TO TELEPRINTER 461 TSFIOT= TTY+1^10+6001 /SKIP ON TELEPRINTER FLAG 468 XLIST ON 469 / HEADER BLOCK FOR SYSODT. 470 471 *7777 /MAIN SEGMENT 472 473 *"P-300^100+"A-300 /PA 474 *"L-300^100 /L 475 *0000 / 476 477 *7600%200 /LOAD/LENGTH WORD 478 479 *PAL /STARTING ADDRESS 480 481 *ASMSIZE+0200 /LOAD/LENGTH OF FIRST OVERLAY 482 483 *STOSIZE+0200 /LOAD LENGTH OF SECOND OVERLAY 484 485 *SYMSIZE+SYMTAB /LOAD/LENGTH OF SYMBOL TABLE 486 487 *CRFSIZE+0400 /LOAD/LENGTH OF CROSS-REFERENCE OVERLAY 488 489 *7777 /END OF OVERLAY LIST 491 XLIST ON 492 PAGE 0 /START AT THE BEGINNING 493 494 IFNZRO 0-. 495 000000 0000 RCDCNT, 0 /BINARY RECORD COUNT; MUST BE IN ZERO FOR CHAINING 496 /ALSO ZEROED BY FIELD ZERO SYMBOL CLEARING ROUTINE 497 /IF NOT ACTUALLY USING FIELD 0! 498 000001 7774 EQUSW, -4 /EQUATE DEPTH SWITCH; INITIALIZED FOR MOVE ROUTINE 499 000002 0000 FCHAR, 0 /FRONT CHARACTER 500 L2000, /CONSTANT 2000 501 000003 2000 INSYM, INSM /POINTER TO SYMBOL SEARCH ROUTINE 502 000004 0000 MODE, 0 /CURRENT ASSEMBLY MODE IN BIT[0]; 0=PMODE, 4000=LMODE 503 000005 7746 M32, 7746 /CONSTANT 7746 504 000006 0000 RCHAR, 0 /REAR CHARACTER 505 000007 0000 SYMNUM, 0 /CURRENT SYMBOL NUMBER 506 507 *10 /AUTO-INDEX REGISTER DEFINITIONS 508 509 IFNZRO 10-. 510 000010 6000 L6000, 6000 /CONSTANT 6000 511 000011 3732 BXR, MOVLST-1 /BINARY POINTER; INITIALIZED FOR MOVE ROUTINE 512 000012 7577 RXR, REFBUF-1 /**** RELOCATE **** 513 000013 0345 SXR, IOLIST-1 /SOURCE POINTER; INITIALIZED FOR I/O FIXUP ROUTINE 514 000014 5533 TXR, TITCODE+DAYBLB-SOURCE-1 /TEMPORARY POINTER; INITIALIZED FOR DATE ROUTINE 515 000015 7777 ASIGN, -1 /ARITHMETIC SIGN 516 000016 7761 L7761, 7761 /CONSTANT 7761 517 000017 0000 MRISW, 0 /MRI IN PROGRESS SWITCH 518 519 *20 /START OF USUAL STUFF ON PAGE ZERO 520 521 000020 3547 PUSH= JMS I .;XPUSH /PUSHDOWN CONTROL 522 000021 3561 POP= JMS I .;XPOP /POPUP CONTROL 523 000022 2114 TEOS= JMS I .;XTEOS /TEST FOR END OF STATEMENT 524 000023 1655 TESTL= JMS I .;XTESTL/TEST NEXT CHARACTER FOR A LETTER (OR NUMBER) 525 000024 0371 TSPACE= JMS I .;XTSPAC/TEST FOR OR 526 527 IFNZRO 25-. 528 000025 0000 TMP, .-. /UNIVERSAL TEMPORARY 529 000026 0426 ARITH, XARITH /FOR PRIMITIVE OPERATORS 530 000027 2656 ERR, XERR /ERROR PRINTOUT 531 000030 0317 EXPR, XEXPR /GENERAL RECURSIVE EXPRESSION HANDLER 532 000031 4040 GCH, XGCH /POINTER TO GET CHARACTER ROUTINE 533 000032 0557 GETCOL, XGETCOL /COLUMN ROUTINE 534 000033 0045 L45, 45 /CONSTANT 0045 535 000034 1200 OPVAL, XOPVAL /OPERAND EVALUATOR 536 000035 0260 ORSYM, XORSYM /INCLUSIVE OR A SYMBOL 537 000036 7777 OVFLPG, -1 /OVERFLOW PAGE COUNT 538 000037 3246 PCRLF, XPCRLF /PRINT , 539 000040 4000 PRTBUF, XPRTBF /POINTER TO BUFFER PRINTER 540 000041 1370 PSDRET, XPSDRET /PUSHDOWN RETURN 541 000042 3000 PUTFLD, XPUTFLD /POINTER TO FIELD SETTING PUNCH 542 000043 3016 PUTORG, XPUTORG /PUNCH AN ORIGIN SETTING 543 000044 3036 PUTWD, XPUTWD /PRINT A GENERATED WORD OF CODE 544 000045 3115 P45CH, XP45CH /PRINT RADIX 45 CHARACTERS 545 000046 3256 P6CH, XP6CH /PRINT SIX-BIT CHARACTERS 546 547 IFNZRO 47-. 548 000047 0177 L177, 177 /CONSTANT 0177 549 000050 2200 SETSYM, XSETSM /POINTER TO SYMBOL SETUP ROUTINE 550 551 IFNZRO 51-. 552 000051 0000 PRVCHR, 0 /PREVIOUS CHARACTER; IS ZERO IF OPERAND SCANNED 553 000052 2226 SETFLD, XSTFLD /POINTER TO SYMBOL FIELD SETUP ROUTINE 554 555 IFNZRO 53-. 556 000053 0000 LSTSW, 0 /LOCAL LIST SWITCH 557 PATOM, /POINTER TO ATOM 558 000054 0200 L200, 200 /CONSTANT 0200 559 000055 0040 L40, 40 /CONSTANT 0040 560 000056 7000 L7000, 7000 /CONSTANT 7000 561 000057 0344 VALRET, VEXIT /NORMAL EXPRESSION EXIT 562 563 IFNZRO 60-. 564 000060 0003 L3, 3 /CONSTANT 0003 565 000061 0060 L60, 60 /ASCII 6-BIT ZERO CONSTANT 566 000062 7740 L7740, 7740 /CONSTANT 7740 567 000063 7741 L7741, 7741 /CONSTANT 7741 568 000064 7756 L7756, 7756 /CONSTANT 7756 569 000065 7770 L7770, 7770 /CONSTANT 7770 570 000066 7774 L7774, 7774 /CONSTANT 7774 571 000067 0000 MSTSIZE,0 /-SYMBOL TABLE SIZE 572 000070 0355 VACRET, VACEXP /RETURN FROM NULL EXPRESSIONS 573 574 IFNZRO 71-. 575 000071 1777 L1777, 1777 /CONSTANT 1777 576 000072 0000 ANY, 0 /OPERATE SWITCH 577 000073 0000 CHAR, 0 /INPUT CHARACTER 578 000074 0360 IEXPR, IEXP /PRINT ILLEGAL EXPR MESSAGE 579 000075 0000 LBLSWT, 0 /LABEL SWITCH 580 000076 0000 RESULT, 0 /LATEST EXPRESSION RESULT 581 000077 0000 TITPTR, 0 /TITLE POINTER 582 583 IFNZRO 100-. 584 000100 0004 L4, 4 /CONSTANT 0004 585 000101 0772 BDCH, ILLCHR /ILLEGAL CHARACTER ERROR 586 000102 0001 COLCT, 1 /COLUMN COUNTER 587 000103 2246 GETSYM, GETSM /GET NEXT SYMBOL ROUTINE 588 000104 0200 LOCNTR, 200 /LOCATION COUNTER FOR OUTPUT 589 000105 0000 LSTWD, 0 /GLOBAL LIST SWITCH 590 000106 0037 L37, 37 /CONSTANT 0037 591 000107 0000 PUNSW, 0 /LOCAL PUNCH SWITCH 592 000110 0000 PUNWD, 0 /GLOBAL PUNCH SWITCH 593 000111 7604 NM1, SWAL /FIRST 2 CHARACTERS OF NAME; INITIALIZED FOR STARTUP 594 000112 7605 NM2, SWMX /MIDDLE 2 CHARACTERS OF NAME; INITIALIZED FOR STARTUP 595 000113 7606 NM3, SWY9 /FINAL 2 CHARACTERS OF NAME; INITIALIZED FOR STARTUP 596 597 IFNZRO .-1-NM3 598 000114 7577 L7577, 7577 /CONSTANT 7577; MUST BE AFTER NM3 599 000115 2762 BEGLIN, XBGLIN /ISSUE , IF NECESSARY 600 000116 0000 BUFSW, 0 /BUFFER PRINTED SWITCH 601 000117 0000 ERRTOT, 0 /NUMBER OF ERRORS 602 000120 0000 FIXMRF, 0 /FIXMRI FLAGS 603 000121 0000 FLSHSW, 0 /CONDITIONAL ASSEMBLY FLUSH SWITCH 604 000122 0007 L7, 7 /CONSTANT 0007 605 000123 7600 L7600, 7600 /CONSTANT 7600 606 000124 0000 MRINDS, 0 /MRI STORAGE 607 000125 7607 NMFLGS, SOUTFLS /SYMBOL TYPE FLAGS; INITIALIZED FOR OUTPUT FILES CHECK 608 000126 3321 PEJECT, DEJECT /EJECT ROUTINE 609 000127 0536 PIOR, XIOR /POINTER TO INCLUSIVE OR ROUTINE 610 000130 3147 PRTFLD, XPRFLD /PRINT A COMPLETE OCTAL FIELD 611 000131 2331 PRTSYM, XPRTSM /PRINT SYMBOL TABLE 612 000132 0536 PRVOPR, XIOR /PREVIOUS OPERATOR; INITIALIZED TO "OR-ED WITH 0" 613 000133 0000 RLOC8, 0 /RELOCATION CONSTANT 614 000134 2651 ROR6, XROR6 /ROTATE RIGHT SIX 615 000135 0000 SVAL, 0 /LATEST EXPRESSION VALUE TO BE OPERATED ON WITH RESULT 616 617 IFNZRO 136-. 618 000136 0077 L77, 77 /CONSTANT 0077 619 000137 0200 BLOCNTR,200 /WHERE BINARY REALLY GOES 620 000140 0000 BUFCNT, .-. /BUFFER COUNT 621 000141 0570 CHKLST, XCHKLST /CHECK PREVIOUS SCAN CHARACTER 622 000142 0076 CHPTR, RESULT /MUST POINT TO A ZERO FOR TITLE ROUTINE 623 000143 0000 CURFLD, 00 /CURRENT FIELD FOR PRINTOUT 624 000144 0000 DUMPSW, 0 /LITERAL DUMP SWITCH 625 000145 0000 ECHOSW, 0 /ECHO SWITCH 626 000146 0400 IBIT, 0400 /**** (/8 OR /9) AND LMODE **** 0020 627 L12, /CONSTANT 0012 628 000147 0012 IFLAGS, 12 /INITIAL RELBTS 629 000150 0000 LITFLG, 0 /LITERAL LEVEL FLAG 630 000151 0000 LITSWT, 0 /LITERAL CLOSEOUT SWITCH 631 000152 0000 LITYPE, 0 /CURRENT LITERAL TYPE 632 000153 0015 L15, 15 /CONSTANT 0015 633 000154 7772 L7772, 7772 /CONSTANT 7772 634 000155 0000 OFPCNT, 0 /LINKS GENERATED COUNTER 635 000156 0000 OPSW, 0 /EQUATE/COMMA SWITCH 636 000157 2775 OUTPTR, BDFLST /BINARY TARGET POINTER 637 000160 3366 PCHKSTN,XNOPRTN /**** /L AND /X AND PASS 2 **** CHKSTN 638 000161 0336 PEOS, EOS /POINTER TO END OF STATEMENT ROUTINE 639 000162 4042 PGIVCHR,GIVCH /POINTER TO GET A CHARACTER ROUTINE 640 000163 0627 PPAGMOR,PAGMORE /CODE IN COMMON WITH STAR ROUTINE 641 000164 3366 PRGLIT, XNOPRTN /**** /Q OR /O **** DUMPZ (RELOCATED) 642 000165 3412 PRTDEC, DECPRT /POINTER TO DECIMAL PRINT ROUTINE 643 000166 2344 PTNREG, XPTNREG /PRINT THAT WHICH USUALLY DOESN'T 644 000167 0000 Q, .-. /LITERAL TEMPORARY 645 000170 0000 INVRT, .-. /SIXBIT/TEXT SWITCH 646 000171 7775 TXTCNT, -3 /TEXT OUTPUT WORD COUNT 647 000172 0000 UNDFLG, 0 /UNDEFINED SYMBOL FLAG 648 000173 3447 XNWSTM, NEWSTM /POINTER TO NEWSTM 649 650 000174 0000 ZBLOCK 176-. /GET NEAR END OF PAGE 000175 0000 651 652 / GENERAL CHARACTER SCAN RESTARTS HERE. 653 654 000176 1073 SETCHR, TAD CHAR /USE CURRENT CHARACTER FOR SCAN 655 000177 3051 SCRESET,DCA PRVCHR /ENTER HERE TO RESET SCAN 656 657 / THE CODE ON THE NEXT FOUR PAGES IS ONCE-ONLY. 658 659 / THE REST OF THE RESIDENT CODE NORMALLY FOUND IN THE NEXT FOUR PAGES 660 / WILL BE LOADED BY STILL FURTHER ONCE-ONLY CODE AFTER POSSIBLY USING 661 / THE FOUR PAGE AREA AS A BUFFER FOR THE SYSTEM CATALOG (TO LOOKUP 662 / "BIN" OR "MAP"). 663 664 / SEE THE OVERLAY STARTING AT "ATOM" FOR THE CODE NORMALLY FOUND HERE. 665 / PAL SYSTEM STARTS HERE. 666 667 IFNZRO .&177 668 669 PAL= . /START OF PAL SYSTEM 670 671 000200 0010 PAL, 10 /HERE IN CASE WE ARE CHAINED TO 672 000201 1413 FIXIO, TAD I SXR /GET NEXT FIXUP ELEMENT 673 000202 7450 SNA /END OF LIST? 674 000203 5216 JMP EXORLP /YES, GO ON TO NEXT TEST 675 000204 3025 DCA TMP /NO, SAVE POINTER TO FUNCTION 676 000205 1777 TAD I (SFUN) /GET SYSTEM LOADER FUNCTION WORD 677 000206 0122 AND L7/[7] /JUST UNIT BITS 678 000207 1425 TAD I TMP /FIXUP REQUESTED FUNCTION WORD 679 000210 3425 DCA I TMP /AND PUT IT BACK 680 000211 2025 ISZ TMP /BUMP TO BLOCK ARGUMENT 681 000212 1776 TAD I (SBLOCK) /GET OUR LOAD BLOCK 682 000213 1425 TAD I TMP /ADD ON RELATIVE OFFSET 683 000214 3425 DCA I TMP /PUT BACK RELOCATED BLOCK ARGUMENT 684 000215 5201 JMP FIXIO /AND GO DO ANOTHER LIST 685 686 / THIS MODIFIES THE SWITCHES ACCORDING TO THE INTERNAL OPTION WORDS. 687 688 000216 1745 EXORLP, TAD I SWPTR /GET A SWITCH WORD 689 000217 0744 AND I OPTPTR /AND AGAINST OPTION WORD 690 000220 7041 CIA /INVERT 691 000221 7104 CLL RAL /*2 692 000222 1745 TAD I SWPTR /ADD ON SWITCH WORD 693 000223 1744 TAD I OPTPTR /ADD ON OPTION WORD 694 000224 3745 DCA I SWPTR /STORE XOR-ED VALUE 695 000225 2345 ISZ SWPTR /BUMP TO NEXT 696 000226 2344 ISZ OPTPTR /BUMP TO NEXT 697 000227 2775 ISZ I (REPLACE) /DONE YET? 698 000230 5216 JMP EXORLP /NO, GO BACK 699 000231 1774 ATEKTST,TAD I (SCRSIZE) /GET MEMORY CONFIGURATION WORD 700 000232 7012 RTR;RAR /MOVE DOWN 000233 7010 701 000234 0122 AND L7/[7] /JUST LOGICAL CORE-SIZE BITS 702 000235 3231 DCA ATEKTST /SAVE TEMPORARILY 703 000236 1231 TAD ATEKTST /REGAIN LOGICAL SIZE 704 000237 1066 TAD L7774/[-4] /20K OR BETTER? 705 000240 7540 SMA SZA /SKIP IF LESS THAN 20K 706 000241 7200 CLA /INDICATE NOT 707 000242 1100 TAD L4/[4] /ADD IN FUDGE FACTOR 708 000243 3067 DCA MSTSIZE /FOR SYMBOL TABLE SIZE LIMITATION 709 000244 1067 TAD MSTSIZE /REGAIN SIZE 710 000245 1066 TAD L7774/[-4] /ADD ON THEORETICAL MAXIMUM 711 000246 7650 SNA CLA /SKIP IF LESS THAN FULL SIZE 712 000247 5257 JMP ZAPXM /WE HAVE THE MOST WE CAN USE 713 000250 1511 CTEST, TAD I NM1/[SWAL] /GET SWITCHES /A-/L 714 000251 7006 RTL /MOVE /C TO AC[0] 715 000252 7710 SPA CLA /IS IT SET? 716 000253 5262 JMP TRYMORE /YES, WE CAN GET A LITTLE EXTRA 717 000254 1067 CFAIL, TAD MSTSIZE /GET CURRENT LIMIT OF SYMBOL TABLE SIZE 718 000255 7650 SNA CLA /SKIP IF MORE THAN FIELD 0 719 000256 5311 JMP ZEROXM /OH WELL, ONLY 4K (BUT WE CAN STILL RUN!) 720 000257 1373 ZAPXM, TAD (ATEKAY-1) /GET POINTER TO 8K ZAP LIST 721 000260 4775 JMS I (REPLACE) /DO THE ZAPS 722 000261 5311 JMP ZEROXM /RESUME IN LINE 723 724 000262 1774 TRYMORE,TAD I (SCRSIZE) /GET CONFIGURATION WORD AGAIN 725 000263 4534 JMS I ROR6/[XROR6] /MOVE MCS TO LOW ORDER 726 000264 0122 AND L7/[7] /CLEAN UP OTHERS 727 000265 7041 CIA /NEGATE 728 000266 1231 TAD ATEKTST /ADD IN SAVED LCS 729 000267 7650 SNA CLA /IF NOT EQUAL, LCS WORDS 800 / CHBUF; SOURCE+400 /ACCOUNT FOR BINARY BUFFER 801 / SLIMIT; 7600-200-4 /END OF CORE IN 4K IF 8K OR MORE 802 / LTFROM-LTOUT+LTLEN; 4^100 /LISTAPE BUFFER IS 4 BLOCKS IN 8K 803 / LTFROM-LTOUT+LT8KZP; TAD L4/[4] /LIKEWISE 804 / LTFROM-LTOUT+LTLIM; -BINARY-1000 /COUNT 4 PAGES IN 8K 805 000367 0000 0 /THIS ENDS THE LIST 806 807 000371 0400 PAGE 000372 1400 000373 0352 000374 7611 000375 4200 000376 7635 000377 7634 808 000400 1777 TSTOUT, TAD I (SBTFUN) /GET BOOTSTRAP UNIT 809 000401 7040 CMA /INVERT IT 810 000402 0122 AND L7/[7] /JUST INVERTED UNIT BITS 811 000403 1776 TAD I (CRWFUN) /ADD ON WRITE FUNCTION 812 000404 3776 DCA I (CRWFUN) /STORE IN CREF CALL 813 000405 1525 TAD I NMFLGS/[SOUTFLS]/CHECK FOR OUTPUT FILES 814 000406 7450 MEMPTR, SNA /ANY? 815 000407 5225 RLPTR, JMP SETUNT /NO 816 000410 7040 RLSWT, CMA /INVERT AND ADD ONE TO COUNT 817 000411 3775 XFACT, DCA I (OUTCNT) /AND ZAP INTO COUNTER 818 000412 1774 TAD I (FLPNTR) /SETUP THE POINTER 819 000413 3157 DCA OUTPTR /TO THE OUTPUT FILES 820 000414 1525 TAD I NMFLGS/[SOUTFLS]/ADJUST THE 821 000415 1774 TAD I (FLPNTR) /INPUT FILES 822 000416 7450 SNA /ALL OUTPUT FILES? 823 000417 1301 TAD STEAL/(OFPCNT) /YES, AVOID NON-EXISTANT INPUT 824 000420 3774 DCA I (FLPNTR) /STASH THE POINTER 825 000421 1774 TAD I (FLPNTR) /ALSO THE 826 000422 3773 DCA I (INTFPT) /RESET POINTER 827 000423 3525 DCA I NMFLGS/[SOUTFLS]/SET NUMBER OF OUTPUT FILES TO ZERO 828 000424 5253 JMP OUTIN /DON'T CHECK FOR DEFAULT OUTPUT FILES 829 830 000425 1777 SETUNT, TAD I (SBTFUN) /GET BOOTSTRAP FUNCTION 831 000426 0122 AND L7/[7] /JUST UNIT BITS 832 000427 1372 TAD (BINADR) /GET % BLOCK BITS 833 000430 3771 DCA I (BDFLST) /STORE INTO DEFAULT LIST 834 000431 1512 TESTU, TAD I NM2/[SWMX] /GET /M-/X 835 000432 0370 AND (10) /JUST /U 836 000433 7650 SNA CLA /SKIP IF SET 837 000434 5242 JMP DTEST /JUMP IF NOT 838 000435 1771 TAD I (BDFLST) /GET %:[BOOTSTRAP UNIT] 839 000436 7110 CLL RAR /MOVE OVER 840 000437 7024 CML RAL /MOVE BACK INVERTED BIT 841 000440 3771 DCA I (BDFLST) /STORE AS %:[BOOTSTRAP UNIT XOR ONE] 842 000441 4767 JMS I (SETB) /FORCE /B 843 000442 1511 DTEST, TAD I NM1/[SWAL] /GET /A-/L 844 000443 0366 AND (400) /JUST /D 845 000444 7650 SNA CLA /SKIP IF SET 846 000445 5254 JMP GTEST /JUMP IF NOT 847 000446 7346 NL7775 /ALLOW TWO 848 000447 3775 DCA I (OUTCNT) /OUTPUT FILES 849 000450 1771 TAD I (BDFLST) /GET %:[BOOTSTRAP UNIT (XOR ONE IF /U)] 850 000451 1372 TAD (DOLBLK-BINADR) /UPDATE TO $:[BOOTSTRAP UNIT (XOR ONE IF /U)] 851 000452 3765 DCA I (BDFLST+1) /STORE INTO DEFAULT LIST 852 000453 4767 OUTIN, JMS I (SETB) /FORCE /B 853 000454 1764 GTEST, TAD I (SPARM) /GET EQUALS PARAMETER 854 000455 7001 IAC /ADD ONE 855 000456 7640 SZA CLA /SKIP IF NONE PASSED 856 000457 5274 JMP GSET /ELSE SET /G 857 000460 1511 TAD I NM1/[SWAL] /GET SWITCHES /A-/L 858 000461 0363 AND (130) /JUST /F, /H, /I 859 000462 7640 SZA CLA /SKIP IF NONE SET 860 000463 5274 JMP GSET /ELSE SET /G 861 000464 1512 TAD I NM2/[SWMX] /GET SWITCHES /M-/X 862 000465 0362 AND (106) /JUST /R, /V, /W 863 000466 7640 SZA CLA /SKIP IF NONE SET 864 000467 5274 JMP GSET /ELSE SET /G 865 000470 7332 NL2000 /SET /Z MASK 866 000471 0513 AND I NM3/[SWY9] /GET /Z SWITCH 867 000472 7650 SNA CLA /SKIP IF SET 868 000473 5761 JMP I (TESTSW) /JUMP IF NOT 869 000474 1511 GSET, TAD I NM1/[SWAL] /GET SWITCHES /A-/L 870 000475 0360 AND (7737) /REMOVE /G 871 000476 1055 TAD L40/[40] /FORCE /G ON 872 000477 3511 DCA I NM1/[SWAL] /SAVE ALL BACK 873 000500 5761 JMP I (TESTSW) /ON TO NEXT TEST 874 875 000501 0155 STEAL, OFPCNT /CORE STEAL ROUTINE; INITIALIZED FOR ONCE-ONLY CODE 876 000502 1701 TAD I STEAL /GET AGAIN 877 000503 1756 TAD I PCHEND /ADD ON TO INPUT LIMIT 878 000504 3756 DCA I PCHEND /STORE IT BACK 879 / TAD I PCHROOM /RECOVER MAGIC NUMBER 880 / CLL /CLEAR LINK FOR TEST 881 / TAD SLIMIT /COMPARE TO MAGIC LIMIT 882 / SNL CLA /SKIP IF STILL ROOM 883 / JMP NOCORE /GO ABEND (SYSTEM 80A) 884 000505 1701 TAD I STEAL /GET NUMBER OF PAGES 885 000506 7130 STL RAR /SIGNED HALVE IT 886 000507 1755 TAD I PPAGCNT /ADD ON PAGE COUNTER 887 000510 3755 DCA I PPAGCNT /SAVE NEW PAGE COUNT 888 000511 1755 TAD I PPAGCNT /GET PAGE COUNT BACK 889 000512 4534 JMS I ROR6/[XROR6] /MAKE IT BLOCK COUNT 890 000513 3754 DCA I PBLKCNT /STORE IT 891 000514 1701 TAD I STEAL /\ 892 000515 7041 CIA / \UPDATE 893 000516 1757 TAD I (CHBUF) / /BUFFER POINTER 894 000517 3757 DCA I (CHBUF) // 895 000520 1757 TAD I (CHBUF) /CALCULATE STOLEN 896 000521 1701 TAD I STEAL /CORE ADDRESS 897 000522 2301 ISZ STEAL /BUMP RETURN ADDRESS 898 000523 5701 JMP I STEAL /RETURN 899 900 /NOCORE,TAD STEAL /GET LOCATION 901 / DCA LOCNTR /OF NO RETURN 902 / JMS I ERR/[XERR] /TELL OF IMPENDING DOOM 903 / IM /IF YOU GET 8K THIS WON'T HAPPEN (?) 904 / JMP I L7600/[SBOOT] /BYE BYE 905 000524 0000 RELOC8, .-. /RELOCATION ROUTINE 906 000525 3211 DCA XFACT /SAVE REAL ADDRESS 907 000526 7240 NL7777 /SET POSITIVE/NEGATIVE 908 000527 3210 DCA RLSWT /PASS SWITCH 909 000530 1724 TAD I RELOC8 /GET POINTER TO RELOCATION LIST 910 000531 2324 ISZ RELOC8 /BUMP RETURN POINTER 911 000532 3207 DCA RLPTR /STASH LIST POINTER 912 000533 1607 TAD I RLPTR /GET -(ASSEMBLED ADDRESS) 913 000534 1211 TAD XFACT /ADD ON REAL ADDRESS 914 000535 3211 DCA XFACT /SAVE AS RELOCATION FACTOR 915 000536 2207 RLLOOP, ISZ RLPTR /POINT TO NEXT ENTRY IN LIST 916 000537 1607 TAD I RLPTR /FETCH NEXT ENTRY 917 000540 7450 SNA /SKIP IF NOT END OF LIST 918 000541 5347 JMP RLCHNG /FLIP TO NEGATIVE LIST OR RETURN ON ZERO 919 000542 3206 DCA MEMPTR /STASH POINTER TO MEMORY LOCATION 920 000543 1606 TAD I MEMPTR /GET WORD TO RELOCATE 921 000544 1211 TAD XFACT /RELOCATE IT 922 000545 3606 DCA I MEMPTR /PUT IT BACK 923 000546 5336 JMP RLLOOP /NOW GO DO NEXT ONE 924 925 000547 2210 RLCHNG, ISZ RLSWT /END OF POSITIVE LIST? 926 000550 5724 JMP I RELOC8 /NO, RETURN TO CALLER 927 000551 1211 TAD XFACT /ELSE NEGATE 928 000552 7041 CIA /RELOCATION FACTOR 929 000553 5335 JMP RLLOOP-1 /AND DO NEGATIVE LIST 930 931 000554 0524 PBLKCNT,RELOC8 /**** 8K **** BLKCNT 932 000555 0524 PPAGCNT,RELOC8 /**** 8K **** PAGCNT 933 /SLIMIT,XSBEG&7600-200-4 /**** 8K **** 7600-200-4 934 000556 4164 PCHEND, CHEND /**** 8K **** RELOC8 935 936 000557 4072 PAGE 000560 7737 000561 0600 000562 0106 000563 0130 000564 7756 000565 2776 000566 0400 000567 1750 000570 0010 000571 2775 000572 0020 000573 2767 000574 4165 000575 2545 000576 7474 000577 7602 937 000600 1511 TESTSW, TAD I NM1/[SWAL] /GET SWITCHES /A-/L 938 000601 0377 DAY, AND (100) /JUST /F SWITCH 939 000602 7450 LPYRCT, SNA /SKIP IF ALREADY SET 940 000603 1512 MONCNT, TAD I NM2/[SWMX] /ELSE GET SWITCHES /M-/X 941 000604 0377 MONTH, AND (100) /JUST /F, /R 942 000605 7650 QUO, SNA CLA /SKIP IF EITHER SET 943 000606 5213 REM, JMP DODATE /JUMP IF NEITHER SET 944 000607 7346 YEAR, NL7775 /FORM /W MASK 945 000610 0512 AND I NM2/[SWMX] /REMOVE /W BIT 946 000611 1376 TAD (2) /FORCE /W BIT ON 947 000612 3512 DCA I NM2/[SWMX] /STORE ALL BACK 948 000613 1775 DODATE, TAD I (SDATE) /GET SYSTEM DATE WORD 949 000614 4342 JMS DIVIDE /DIVIDE BY 372 950 000615 0564 564 /TO GET YEAR 951 000616 3207 DCA YEAR /SAVE AS YEAR OFFSET 952 000617 1206 TAD REM /GET DAYS LEFT IN THE YEAR 953 000620 4342 JMS DIVIDE /DIVIDE BY 31 TO GET 954 000621 0037 37 /MONTH (ORIGIN ZERO) 955 000622 3204 DCA MONTH /SAVE IT 956 000623 7201 NL0001 /MAKE ORIGIN ONE 957 000624 1206 TAD REM /GET DAY OF THE MONTH 958 000625 3201 DCA DAY /SAVE THE DAY 959 000626 1207 TAD YEAR /GET LATEST YEAR 960 000627 1060 L1060, TAD L3/[3] /ROUND UP FOR LEAP YEAR 961 000630 7110 CLL RAR /DIVIDE 962 000631 7110 CLL RAR /BY FOUR 963 000632 3202 DCA LPYRCT /SAVE AS EXTRA LEAP DAYS COUNT 964 000633 1207 TAD YEAR /GET THE YEAR 965 000634 0060 AND L3/[3] /JUST LEAP YEAR BITS 966 000635 7650 SNA CLA /SKIP IF NOT A LEAP YEAR 967 000636 2774 ISZ I (FEBENT) /BUMP UP FEBRUARY COUNT IN A LEAP YEAR 968 000637 1204 TAD MONTH /GET THE MONTH 969 000640 7040 CMA /INVERT FOR COUNTING 970 000641 3203 DCA MONCNT /SAVE IT 971 000642 5245 JMP .+3 /JUMP INTO IT 972 973 000643 1763 TAD I ENTPTR /GET A MONTH'S DAY COUNT 974 000644 2363 ISZ ENTPTR /BUMP TO NEXT MONTH 975 000645 2203 ISZ MONCNT /DONE ALL YET? 976 000646 5243 JMP .-3 /NO, GO BACK 977 000647 1201 TAD DAY /ADD ON DAY 978 000650 1207 TAD YEAR /AND YEAR 979 000651 1202 TAD LPYRCT /ADD ON EXTRA LEAP DAYS 980 000652 1362 TAD BSGROUP /\ 981 000653 1362 TAD BSGROUP / >ADD ON TEN-SEVEN DAYS/GROUP 982 000654 1362 TAD BSGROUP // 983 000655 4342 JMS DIVIDE /DIVIDE BY 7 TO GET 984 000656 0007 7 /DAY OF THE WEEK 985 000657 7200 CLA /CLEAN UP 986 000660 1206 TAD REM /GET RELATIVE DAY 987 000661 7104 CLL RAL /*2 FOR DOUBLE-WORDS 988 000662 1373 TAD (DAYS-1) /ADD ON TABLE POINTER 989 000663 3013 DCA SXR /STASH THE POINTER 990 000664 1413 TAD I SXR /GET A DAY WORD 991 000665 3414 DCA I TXR /STORE INTO THE HEADER 992 000666 1413 TAD I SXR /GET ANOTHER DAY WORD 993 000667 3414 DCA I TXR /STORE INTO THE HEADER 994 000670 2014 ISZ TXR /BUMP TO DATE FIELD 995 000671 1201 TAD DAY /GET THE DAY 996 000672 4342 JMS DIVIDE /GET TENS DIGIT 997 000673 0012 12 /BY DIVIDING BY 10 998 000674 1061 TAD L60/["0&77] /MAKE IT PRINTABLE 999 000675 4534 JMS I ROR6/[XROR6] /MOVE TO HIGH ORDER 1000 000676 7010 RAR /FOR 2*6-BIT 1001 000677 1206 TAD REM /ADD ON UNITS DIGIT 1002 000700 1061 TAD L60/["0&77] /MAKE THAT PRINTABLE 1003 000701 3414 DCA I TXR /STICK INTO BLURB 1004 000702 1204 TAD MONTH /GET THE MONTH 1005 000703 7104 CLL RAL /*2 FOR DOUBLE-WORDS 1006 000704 1372 TAD (MONLST-1) /ADD ON TABLE POINTER 1007 000705 3013 DCA SXR /STASH THE VALUE 1008 000706 1413 TAD I SXR /GET A MONTH WORD 1009 000707 3414 DCA I TXR /PUT INTO MESSAGE 1010 000710 1413 TAD I SXR /GET ANOTHER MONTH WORD 1011 000711 3414 DCA I TXR /PUT INTO MESSAGE 1012 000712 1362 TAD BSGROUP /GET GROUP NUMBER 1013 000713 7106 CLL RTL /*4 1014 000714 7004 RAL /*8 1015 000715 1207 TAD YEAR /NOW HAVE YEAR-1960 1016 000716 1227 TAD L1060/(764+74) /ADD ON 0560 (XX60 IS ACCEPTABLE) 1017 000717 4342 JMS DIVIDE /DIVIDE BY 100 1018 000720 0144 144 /TO GET PROPER REMAINDER 60-99 AND 00-59 1019 000721 7200 CLA /THROW AWAY QUOTIENT 1020 000722 1206 TAD REM /GET REMAINDER 1021 000723 4342 JMS DIVIDE /DIVIDE BY 10 TO GET 1022 000724 0012 12 /THE TEN'S DIGIT 1023 000725 1371 TAD ("-^100+"0-200) /WILL PRINT "-" 1024 000726 3414 DCA I TXR /PUT INTO BLURB 1025 000727 1206 TAD REM /GET UNITS DIGIT 1026 000730 4534 JMS I ROR6/[XROR6] /SHIFT IT UP 1027 000731 7010 RAR /TO HIGH ORDER 1028 000732 1370 TAD ("0^100+" -200) /WILL PRINT "" 1029 000733 3414 DCA I TXR /PUT INTO BLURB 1030 000734 1511 TAD I NM1/[SWAL] /GET SWITCHES /A-/L 1031 000735 7700 SMA CLA /SKIP IF /A SET 1032 000736 5767 JMP I (SLNSTA) /JUMP IF /A NOT SET 1033 000737 1375 TAD (SKP CLA) /SETUP FOR ALL SYMBOLS 1034 000740 3766 DCA I (CRAZP9) /IN CROSS-REFERENCE 1035 000741 5767 JMP I (SLNSTA) /GO CHECK NEXT ITEM 1036 000742 0000 DIVIDE, .-. /DIVIDE ROUTINE FOR DATE 1037 000743 3206 DCA REM /SAVE IN REMAINDER 1038 000744 3205 DCA QUO /CLEAR QUOTIENT 1039 000745 1206 TAD REM /GET DIVIDEND 1040 000746 7161 STL CIA /INVERT FOR SUBTRACTION 1041 000747 7410 SKP /DON'T BUMP QUOTIENT FIRST TIME 1042 000750 2205 DVLOOP, ISZ QUO /BUMP UP QUOTIENT 1043 000751 1742 TAD I DIVIDE /ADD ON DIVISOR 1044 000752 7470 SNA SZL /OVERFLOW? 1045 000753 5350 JMP DVLOOP /NO, KEEP GOING 1046 000754 7041 CIA /YES, INVERT 1047 000755 1742 TAD I DIVIDE /RESTORE 1048 000756 2342 ISZ DIVIDE /BUMP PAST ARGUMENT 1049 000757 3206 DCA REM /SAVE AS REMAINDER 1050 000760 1205 TAD QUO /GET QUOTIENT 1051 000761 5742 JMP I DIVIDE /RETURN 1052 1053 000762 0003 BSGROUP,BSGRP /BASE YEAR GROUP NUMBER 1054 000763 5350 ENTPTR, JANENT /POINTER TO MONTH DAY COUNTS 1055 1056 000766 7407 PAGE 000767 1000 000770 6040 000771 5560 000772 5317 000773 5555 000774 5351 000775 7610 000776 0002 000777 0100 1057 IFNZRO .&177 1058 001000 7240 SLNSTA, NL7777 /SET ALL BITS 1059 001001 7421 MQL /ATTEMPT TO LOAD MQ REGISTER 1060 001002 7650 SNA CLA /SKIP IF NO MQ HARDWARE 1061 001003 5206 JMP TESTEN /JUMP IF OK 1062 001004 1247 TAD L7410/(SKP) /ELSE GET A SKIP INSTRUCTION 1063 001005 3777 DCA I (EAEZAP) /KILL P. C. DISPLAY 1064 001006 7332 TESTEN, NL2000 /SET /N BIT 1065 001007 0512 AND I NM2/[SWMX] /AND JUST /N 1066 001010 7640 SZA CLA /SKIP IF NOT SET 1067 001011 5221 JMP TESTEL /JUMP IF SET 1068 001012 1376 TAD (NOFRM2&177+JMPC) /DESTROY 1069 001013 3775 DCA I (SLNZP8) /PAGINATION 1070 001014 1200 L1200, TAD SLNSTA/(NL7777) /DESTROY 1071 001015 3774 DCA I (SLNZP3) /"SKIP" PSEUDO-OP 1072 001016 1123 TAD L7600/[CLA!400] /DESTROY THE 1073 001017 3773 DCA I (SLNZP9) /CHECK FOR LPT: 1074 001020 5237 JMP NOHDNG /DON'T CHECK FOR LISTING TITLES 1075 1076 001021 7201 TESTEL, NL0001 /CHECK FOR /L 1077 001022 0511 AND I NM1/[SWAL] /AND JUST /L 1078 001023 7640 SZA CLA /SKIP IF NOT SET 1079 001024 3230 DCA .+4 /DESTROY TEST IF SET 1080 001025 1512 TAD I NM2/[SWMX] /TEST FOR /S 1081 001026 0055 AND L40/[40] /AND JUST /S 1082 001027 7650 SNA CLA /SKIP IF SET 1083 001030 5237 JMP NOHDNG /JUMP IF NEITHER SET 1084 001031 4772 JMS I (STEAL) /TRY TO STEAL 1085 001032 7600 -200 /1 PAGE 1086 001033 3771 DCA I (TPT2) /SAVE POINTER FOR MOVE ROUTINE 1087 / TAD I (TPT2) /RECOVER POINTER 1088 / JMS I (RELOC8) /RELOCATE ADDRESS CONSTANTS 1089 / SLLRLC /POINTER TO RELOCATION LIST 1090 001034 1370 TAD (TMVCNT) /ALLOW THE 1091 001035 3767 DCA I (SLLLST) /NEATNESS ZAPS 1092 001036 7410 SKP /ALLOW TITLES 1093 001037 3766 NOHDNG, DCA I (SLNZP2) /DESTROY TITLES 1094 001040 1511 TAD I NM1/[SWAL] /CHECK FOR 1095 001041 7010 RAR /L ONLY 1096 001042 7630 SZL CLA /SKIP IF NOT /L 1097 001043 5250 JMP TESTQU-1 /JUMP IF /L SET 1098 001044 3765 DCA I (SLLZP9) /DESTROY LISTING 1099 001045 2764 ISZ I (LSTRPL) /BUMP UP THE 1100 001046 2764 ISZ I (LSTRPL) /REPLACEMENT POINTER 1101 001047 7410 L7410, SKP /DON'T 1102 001050 3763 DCA I (SLLZP2) /ALLOW A LISTING 1103 001051 1512 TESTQU, TAD I NM2/[SWMX] /TEST FOR /Q OR /O 1104 001052 0214 AND L1200/(1200) /AND JUST /Q OR /O 1105 001053 7450 SNA /SKIP IF SET 1106 001054 5274 JMP TEST89 /JUMP IF NOT SET 1107 001055 0054 AND L200/[200] /TEST FOR /Q ONLY 1108 001056 7640 SZA CLA /SKIP IF /Q IS OFF 1109 001057 3762 DCA I (OZAPLG) /"LG" MESSAGES IF /O ONLY 1110 001060 4772 JMS I (STEAL) /TRY TO STEAL 1111 001061 7000 LITMORE-ZPLBEG /CORE FOR LITERALS 1112 001062 3761 DCA I (QPT2) /SAVE POINTER FOR MOVE ROUTINE 1113 001063 1761 TAD I (QPT2) /RECOVER POINTER 1114 001064 4760 JMS I (RELOC8) /RELOCATE LITERAL POINTERS 1115 001065 5246 SLQRLC /POINTER TO RELOCATION LIST 1116 001066 1512 TAD I NM2/[SWMX] /TEST FOR /O 1117 001067 7006 RTL /AND JUST /O 1118 001070 7700 SMA CLA /SKIP IF SET 1119 001071 3757 DCA I (SLOZAP) /TERMINATE ZAP LIST EARLY IF NOT SET 1120 001072 1356 TAD (PDUMPL) /ENABLE REPLACEMENT LIST 1121 001073 3755 DCA I (SLQLST) /FOR LITERALS (ULTIMATELY) 1122 001074 1513 TEST89, TAD I NM3/[SWY9] /TEST FOR /8 OR /9 1123 001075 7012 RTR /TO LINK, AC[0] 1124 001076 7720 SMA SNL CLA /SKIP IF EITHER /8 OR /9 1125 001077 5313 JMP TESTKA-1 /JUMP IF NEITHER 1126 001100 7430 SZL /SKIP IF NOT /8 1127 001101 3754 DCA I (SL9ZAP) /DESTROY /9 ZAPS 1128 001102 4772 JMS I (STEAL) /TRY TO STEAL 1129 001103 7200 -600 /3 PAGES 1130 001104 3753 DCA I (LNCPT2) /SAVE FOR MOVE ROUTINE 1131 001105 1753 TAD I (LNCPT2) /GET IT BACK 1132 001106 4760 JMS I (RELOC8) /RELOCATE POINTERS, ETC. 1133 001107 5203 LNCRLC /POINTER TO RELOCATION LIST 1134 001110 1352 TAD (LMZAPA) /ENABLE REPLACEMENT LIST 1135 001111 3751 DCA I (LNCLST) /FOR LMODE (ULTIMATELY) 1136 001112 7410 SKP /DON'T 1137 001113 2750 ISZ I (SYMBLK) /BUMP TO NEXT BLOCK TO ELIMINATE LMODE PSEUDO-OPS 1138 001114 7326 TESTKA, NL0002 /CHECK FOR /K 1139 001115 0511 AND I NM1/[SWAL] /AND JUST /K 1140 001116 7650 SNA CLA /SKIP IF SET 1141 001117 3747 DCA I (SLKZP0) /DESTROY GETTING NEW TITLES FROM FILES 1142 001120 7201 TESTEX, NL0001 /SETUP FOR /L, /X 1143 001121 0511 AND I NM1/[SWAL] /JUST /L 1144 001122 0512 AND I NM2/[SWMX] /JUST /X 1145 001123 7650 SNA CLA /SKIP IF BOTH SET 1146 001124 5335 JMP SETBUNIT /JUMP IF NOT BOTH SET 1147 001125 4772 JMS I (STEAL) /TRY TO STEAL 1148 001126 7400 -400 /TWO PAGES 1149 001127 3746 DCA I (XPT2) /SAVE FOR MOVE ROUTINE 1150 001130 1746 TAD I (XPT2) /GET IT BACK 1151 001131 4760 JMS I (RELOC8) /RELOCATE POINTERS, ETC. 1152 001132 5231 XRLC /POINTER TO RELOCATION LIST 1153 001133 1345 TAD (RPLSLX) /ENABLE REPLACEMENT LIST 1154 001134 3744 DCA I (EXLST) /FOR CROSS-REFERENCE (ULTIMATELY) 1155 001135 1743 SETBUNI,TAD I (SBTFUN) /GET BOOTSTRAP UNIT FUNCTION 1156 001136 0122 AND L7/[7] /JUST UNIT BITS 1157 001137 3742 DCA I (QTMP) /SAVE FOR SYSLOOK 1158 001140 5741 JMP I (CHKCONSOL) /GO DO NEXT TEST 1159 1160 001141 1701 PAGE 001142 6415 001143 7602 001144 5000 001145 4431 001146 3745 001147 4064 001150 3632 001151 6524 001152 3730 001153 3742 001154 6556 001155 5011 001156 1560 001157 5031 001160 0524 001161 3737 001162 6120 001163 4262 001164 4325 001165 4415 001166 4413 001167 5040 001170 3735 001171 3734 001172 0501 001173 4602 001174 1626 001175 3264 001176 5277 001177 3505 1161 001200 0000 XOPVAL, .-. /PREVIOUS OPERAND EVALUATOR 1162 001201 3156 DCA OPSW /SAVE SWITCH 1163 001202 4403 JMS I INSYM/[INSM] /LOOKUP (PROBABLE) SYMBOL 1164 001203 1125 TAD NMFLGS /GET SYMBOL FLAGS 1165 001204 7450 SNA /DEFINED? 1166 001205 5355 JMP OPUS /NO, BUT IT MIGHT NOT EVEN BE A SYMBOL! 1167 001206 7710 SPA CLA /NORMAL SYMBOL? 1168 001207 5212 JMP .+3 /NO, INVESTIGATE FURTHER 1169 001210 2200 OPOUT, ISZ XOPVAL /TAKE VALUED RETURN 1170 001211 5600 JMP I XOPVAL /RETURN TO WHATEVER 1171 1172 001212 1156 TAD OPSW /CALLED FROM EQUATE OR COMMA? 1173 001213 1121 TAD FLSHSW /OR IN CONDITIONAL ASSEMBLY? 1174 001214 7640 SZA CLA /ALLOW NORMALITY IF NOT 1175 001215 5232 JMP OPTHRU /DON'T CHECK 1176 001216 7332 NL2000 /SET DISTINGUISHING BIT 1177 001217 0125 AND NMFLGS /MASK OFF PSEUDO-OP BIT 1178 001220 7104 CLL RAL /MOVE TO HIGH-ORDER 1179 001221 0135 AND SVAL /CHECK IF VALUED PSEUDO-OP 1180 001222 7710 SPA CLA /SKIP IF SOMETHING ELSE 1181 001223 5232 JMP OPTHRU /DON'T CHECK IF PSEUDO-VALUE 1182 001224 1073 TAD CHAR /GET DELIMITER 1183 001225 4424 TSPACE /IS IT A ? 1184 001226 7610 SKP CLA /NO, CHECK FURTHER 1185 001227 5232 JMP OPTHRU /YES, GOOD ENOUGH 1186 001230 4422 TEOS /IS IT ? 1187 001231 5501 JMP I BDCH/[ILLCHR] /NO, BARF 1188 001232 1200 OPTHRU, TAD XOPVAL /GET HEADER 1189 001233 4420 PUSH /SAVE IT 1190 001234 7332 NL2000 /-PSEUDO-OP VALUE 1191 001235 1125 TAD NMFLGS /COMPARE TO VALUE WE TEST FOR 1192 001236 7640 SZA CLA /SKIP IF IT MATCHS 1193 001237 5260 JMP DOMRI /CHECK OUT MRI TYPE SYMBOL 1194 001240 2075 ISZ LBLSWT /INDICATE SCAN PENETRATION 1195 001241 1121 TAD FLSHSW /CONDITIONAL SCAN? 1196 001242 7650 SNA CLA /SKIP IF SO 1197 001243 5247 JMP .+4 /JUMP IF NOT 1198 001244 1135 TAD SVAL /PICK UP PSEUDO-OP ADDRESS 1199 001245 7700 SMA CLA /SKIP IF VFLAG IS SET 1200 001246 5346 JMP PSDVAL /ELSE RETURN ADDRESS AS VALUE 1201 001247 7350 NL3777 /SETUP MASK 1202 001250 0135 AND SVAL /TURN OFF VFLAG BIT 1203 001251 3025 DCA TMP /SAVE ADDRESS 1204 001252 3135 DCA SVAL /CLEAR FOR OTHERS 1205 001253 2156 ISZ OPSW /CALLED FROM EQUATE OR COMMA? 1206 001254 5425 JMP I TMP /BRANCH TO PSEUDO-OP 1207 001255 4427 JMS I ERR/[XERR] /COMPLAIN OF ILLEGAL 1208 001256 2535 IP /REDEFINITION ATTEMPT 1209 001257 5573 JMP I XNWSTM/[NEWSTM] /KEEP GOING 1210 001260 1156 DOMRI, TAD OPSW /CALLED BY EQUATE OR COMMA? 1211 001261 7640 SZA CLA /SKIP IF SO 1212 001262 5346 JMP PSDVAL /JUMP IF NOT 1213 001263 2075 ISZ LBLSWT /INCREASE SCANNER RANGE 1214 001264 1132 TAD PRVOPR /SAVE 1215 001265 4420 PUSH /PREVIOUS OPERATOR 1216 001266 1076 TAD RESULT /SAVE 1217 001267 4420 PUSH /PREVIOUS RESULT 1218 001270 1124 TAD MRINDS /SAVE 1219 001271 4420 PUSH /PREVIOUS MRI FLAGS 1220 001272 1135 TAD SVAL /SAVE 1221 001273 4420 PUSH /PREVIOUS TERM 1222 001274 1015 TAD ASIGN /GET CURRENT SIGN 1223 001275 4420 PUSH /SAVE 1224 001276 7240 NL7777 /RESET 1225 001277 3015 DCA ASIGN /SIGN 1226 001300 1054 LMZAP1, TAD L200/[200] /**** (/8 OR /9) AND LMODE **** JMP I LMZAP2 1227 001301 3124 LMZAP2, DCA MRINDS /**** (/8 OR /9) AND LMODE **** LNCMRI 1228 001302 1017 TAD MRISW /GET CURRENT MRI SWITCH 1229 001303 4420 PUSH /STASH IT 1230 001304 2017 ISZ MRISW /INDICATE MRI IN PROGRESS 1231 001305 4430 JMS I EXPR/[XEXPR] /SCAN OFF OPERAND 1232 001306 5351 JMP PG0 /NONE THERE, USE 0000 1233 001307 1076 TAD RESULT /GET RESULT 1234 001310 0123 AND L7600/[7600] /JUST PAGE BITS 1235 001311 7450 SNA /SKIP IF MRI PROBLEM POSSIBLE 1236 001312 5351 JMP PG0 /PAGE ZERO ALWAYS WORKS 1237 001313 3025 DCA TMP /SAVE PAGE BITS 1238 001314 5325 PS2ZAP, JMP MRIOK /**** PASS 2 **** TAD LOCNTR 1239 001315 0123 AND L7600/[7600] /GET CURRENT PAGE BITS 1240 001316 7041 CIA /INVERT FOR TEST 1241 001317 1025 TAD TMP /COMPARE TO LATEST 1242 001320 7650 SNA CLA /SKIP IF DIFFERENT PAGE 1243 001321 5325 JMP MRIOK /SAME PAGE, WE'RE OK 1244 001322 1076 OZAP2, TAD RESULT /**** /O **** JMP I .+1 1245 001323 4427 OZAP3, JMS I ERR/[XERR] /**** /O **** OFPLIT (RELOCATED) 1246 001324 4537 IR /COMPLAIN OF ILLEGAL REFERENCE 1247 001325 4421 MRIOK, POP /RESTORE THE 1248 001326 3017 DCA MRISW /MRI SWITCH 1249 001327 4421 MRILNC, POP /RESTORE 1250 001330 3015 DCA ASIGN /PREVIOUS ARITHMETIC SIGN 1251 001331 4421 POP /RESTORE PREVIOUS 1252 001332 3135 DCA SVAL /SCAN TERM 1253 001333 1076 TAD RESULT /GET RESULT 1254 001334 0047 LMZAP4, AND L177/[177] /**** (/8 OR /9) AND LMODE **** AND L1777/[1777] 1255 001335 1124 TAD MRINDS /ADD ON LATEST PAGE BITS 1256 001336 4435 JMS I ORSYM/[XORSYM] /OR EVERYONE TOGETHER 1257 001337 3135 DCA SVAL /SAVE AS LATEST TERM 1258 001340 4421 POP /RESTORE 1259 001341 3124 DCA MRINDS /PREVIOUS PAGE BITS 1260 001342 4421 POP /RESTORE 1261 001343 3076 DCA RESULT /PREVIOUS RESULT 1262 001344 4421 POP /RESTORE 1263 001345 3132 DCA PRVOPR /PREVIOUS OPERATOR FLAG 1264 001346 4421 PSDVAL, POP /VALUED PSEUDO-OP RETURN 1265 001347 3200 DCA XOPVAL /RESTORE RETURN ADDRESS 1266 001350 5210 JMP OPOUT /FINISH THERE 1267 1268 001351 1124 PG0, TAD MRINDS /GET PAGE BITS 1269 001352 0114 AND L7577/[-200-1] /MAKE IT PAGE ZERO ONLY 1270 001353 3124 DCA MRINDS /STORE IT BACK 1271 001354 5325 JMP MRIOK /PAGE ZERO NEVER HAS "IR" PROBLEMS 1272 1273 001355 1156 OPUS, TAD OPSW /CALLED BY EQUATE OR COMMA? 1274 001356 1121 TAD FLSHSW /OR IN CONDITIONAL ASSEMBLY? 1275 001357 7650 SNA CLA /SKIP IF ANY OF THEM 1276 001360 1111 TAD NM1 /IS IT A SYMBOL AT ALL? 1277 001361 7650 SNA CLA /SKIP IF IT IS 1278 001362 5210 JMP OPOUT /JUMP IF NOT 1279 001363 7410 USMFIX, SKP /**** PASS 2 **** JMS I ERR/[XERR] 1280 001364 3434 US /UNDEFINED SYMBOL 1281 001365 2172 ISZ UNDFLG /SET UNDEFINED FLAG 1282 001366 3135 DCA SVAL /CLEAR UNDEFINED RESULT 1283 001367 5210 JMP OPOUT /DO SKIP RETURN 1284 1285 / PSEUDO-OPS RETURN HERE. 1286 1287 001370 4421 XPSDRET,POP /POP RETURN ADDRESS OFF STACK 1288 001371 3200 DCA XOPVAL /RESTORE IT 1289 001372 3135 DCA SVAL /CLEAR LATEST TERM JUST IN CASE 1290 001373 5600 JMP I XOPVAL /RETURN TO CALLER 1291 1292 / "EXPUNGE" PSEUDO-OP PROCESSOR. 1293 1294 001374 5775 XPUNGE, JMP I .+1/(XPUNG2) /CONTINUE THERE 1295 001375 4211 XPUNG2 /THROUGH HERE 1296 1297 / "FIXTAB" PSEUDO-OP PROCESSOR. 1298 1299 001376 5777 XFXTAB, JMP I LMFXTAB /CONTINUE THERE 1300 001377 4230 LMFXTAB,XFXT2 /**** /8 OR /9 **** LMFXTB (RELOCATED) 1301 PAGE 1302 1303 / "I" PSEUDO-OP PROCESSOR. 1304 1305 001400 1017 EYE, TAD MRISW /GET MRI SWITCH 1306 001401 7650 SNA CLA /SKIP IF IN MRI PROCESSING 1307 001402 5214 JMP EYEVAL /JUMP IF NOT 1308 001403 1146 TAD IBIT /GET CURRENT BIT 1309 001404 7040 CMA /INVERT FOR MASKING 1310 001405 0124 AND MRINDS /GET OTHER BITS 1311 001406 1146 TAD IBIT /OR IN CURRENT BIT 1312 001407 3124 DCA MRINDS /SAVE IT 1313 001410 5441 JMP I PSDRET/[XPSDRET]/RETURN 1314 1315 / "CONSOLE" PSEUDO-OP PROCESSOR. 1316 1317 001411 7614 XCNSOL, LAS SKP /GET SWITCHES, NOT THE DATE 1318 1319 / "DATE" PSEUDO-OP PROCESSOR. 1320 1321 001412 1777 XDATE, TAD I (SDATE) /GET THE SYSTEM DATE WORD 1322 001413 7410 SKP /NOT THE "I" BIT 1323 001414 1146 EYEVAL, TAD IBIT /GET LATEST "I" BIT VALUE 1324 001415 3135 DCA SVAL /SETUP AS LATEST TERM 1325 001416 5776 JMP I (PSDVAL) /NOW USE AS A VALUED PSEUDO-OP 1326 1327 / "PAGE" PSEUDO-OP PROCESSOR. 1328 1329 001417 4430 XPAGE, JMS I EXPR/[XEXPR] /GET THE ARGUMENT 1330 001420 5225 JMP NEXTPAGE /WASN'T ANY, GOTO NEXT PAGE 1331 001421 1076 TAD RESULT /GET ARGUMENT 1332 001422 4534 JMS I ROR6/[XROR6] /MOVE TO PAGE BITS 1333 001423 0123 AND L7600/[7600] /JUST PAGE BITS 1334 001424 5563 JMP I PPAGMOR/[PAGMOR]/CONTINUE THERE 1335 1336 001425 1104 NEXTPAG,TAD LOCNTR /GET CURRENT LOCATION COUNTER 1337 001426 1047 TAD L177/[177] /BUMP TO NEXT PAGE 1338 001427 5223 JMP NEXTPAGE-2 /CONTINUE THERE 1339 1340 / 8-BIT ASCII '"' PROCESSOR. 1341 1342 001430 4541 XDQUO, JMS I CHKLST/[XCHKLST]/CHECK IF LEGAL HERE 1343 001431 4431 JMS I GCH/[XGCH] /GET NEXT CHARACTER 1344 001432 1055 TAD L40/[40] /INVERT IT 1345 001433 0136 AND L77/[77] /REMOVE CARRY 1346 001434 1375 TAD (240) /MAKE IT EIGHT-BIT 1347 001435 5350 JMP PONTIN /CONTINUE THERE 1348 001436 1065 IFNDF, TAD L7770/[SZA-SNA] /GET SZA-SNA 1349 001437 1261 IFDF, TAD LSNACLA/(SNA CLA) /GET SNA CLA 1350 001440 3243 DCA IFNST1 /NOW HAVE PROPER SKIP INSTRUCTION 1351 001441 4275 JMS IFCOM /CALL COMMON ROUTINE 1352 001442 1125 TAD NMFLGS /GET FLAGS 1353 001443 7640 IFNST1, SZA CLA /WERE THEY PROPERLY TOUCHED? 1354 001444 5256 JMP FLUSH /NO, START FLUSHING 1355 001445 3121 IFMOR, DCA FLSHSW /YES, ALLOW FURTHER INPUT SCANNING 1356 001446 5573 JMP I XNWSTM/[NEWSTM] /GO TO NEW STATEMENT DRIVER 1357 1358 001447 1065 IFNZER, TAD L7770/[SZA-SNA] /GET SZA-SNA 1359 001450 1261 IFZER, TAD LSNACLA/(SNA CLA) /GET SNA CLA 1360 001451 3254 DCA IFNST2 /SETUP PROPER SKIP INSTRUCTION 1361 001452 4275 JMS IFCOM /CALL COMMON ROUTINE 1362 001453 1076 TAD RESULT /GET RESULT OF SCAN 1363 001454 7640 IFNST2, SZA CLA /DID IT COME OUT PROPERLY? 1364 001455 5245 JMP IFMOR /YES, ALLOW MORE INPUT SCANNING 1365 001456 4440 FLUSH, JMS I PRTBUF/[XPRTBF] /PRINT OUT THIS LINE NOW 1366 001457 4431 JMS I GCH/[XGCH] /GET A CHARACTER 1367 001460 1374 TAD (-"? 1374 001467 4440 JMS I PRTBUF/[XPRTBF] /YES, PRINT THE LINE 1375 001470 1373 TAD (-">!200) /IS IT ">"? 1376 001471 7650 SNA CLA /SKIP IF NOT 1377 001472 2121 ISZ FLSHSW /BUMPED UP TO PROPER LEVEL? 1378 001473 5257 JMP FLUSH+1 /NO, KEEP FLUSHING 1379 001474 5772 JMP I (CONDIN) /YES, GO TO NEW STATEMENT DRIVER 1380 1381 001475 0000 IFCOM, .-. /COMMON IF ROUTINE 1382 001476 7040 IFCMA, CMA /SET 1383 001477 3121 DCA FLSHSW /SWITCH 1384 001500 3125 DCA NMFLGS /INITIALLY CLEAR FLAGS 1385 001501 3771 DCA I (INSM+1) /PREVENT ERRONEOUS INSERTION 1386 001502 4430 JMS I EXPR/[XEXPR] /TRY TO EVALUATE 1387 001503 7240 NL7777 /NONE THERE 1388 001504 3025 DCA TMP /SAVE STATUS 1389 001505 1276 TAD IFCMA/(CMA) /RESTORE 1390 001506 3771 DCA I (INSM+1) /SYMBOL CREATION 1391 001507 2025 ISZ TMP /WAS ANYTHING THERE? 1392 001510 1073 TAD CHAR /YES, CHECK IF IT WAS 1393 001511 1374 TAD (-" AND PROCESSORS 1423 / WHICH RELAX SOME OF THE OTHERWISE TIGHT SYNTACTICAL RULES 1424 / FORMERLY IN THIS ASSEMBLER. 1425 1426 / WHEN A "." IS ENCOUNTERED, THE INPUT ROUTINES ARE FAKED OUT TO 1427 / PRETEND THAT A DID OCCUR PRIOR TO THE "."! 1428 1429 POINT,/ JMS I CHKLST/[XCHKLST]/FIND OUT IF LEGAL HERE 1430 001535 1562 TAD I PGIVCHR/[GIVCH] /GET CURRENT CO-ROUTINE VALUE 1431 001536 3361 DCA POINTMP /SAVE IT 1432 001537 1370 TAD (POINT2) /GET OUR POINTER 1433 001540 3562 DCA I PGIVCHR/[GIVCH] /GIVE IT TO THEM 1434 001541 1055 TAD L40/[" &77] /GET A 1435 001542 3073 DCA CHAR /PRETEND IT CAME IN BY ITSELF 1436 001543 5767 JMP I (SPACE) /PRETEND WE'RE A 1437 1438 / COMES HERE TO GET ANOTHER CHARACTER (HA-HA!). 1439 1440 001544 1361 POINT2, TAD POINTMP /GET ORIGINAL ADDRESS 1441 001545 3562 DCA I PGIVCHR/[GIVCH] /RESTORE IT 1442 001546 1104 TAD LOCNTR /GET LOCATION COUNTER 1443 001547 7000 LMZAP5, NOP /**** (/8 OR /9) AND LMODE **** AND L1777/[1777] 1444 001550 3135 PONTIN, DCA SVAL /USE AS LATEST TERM 1445 001551 5177 JMP SCRESET /CONTINUE SCAN 1446 / "ENPUNCH" PSEUDO-OP PROCESSOR. 1447 1448 001552 1110 XPUNCH, TAD PUNWD /SET OR ... 1449 1450 / "NOPUNCH" PSEUDO-OP PROCESSOR. 1451 1452 001553 3107 XNOPUNC,DCA PUNSW /CLEAR PUNCH SWITCH 1453 001554 5441 JMP I PSDRET/[XPSDRET]/RETURN 1454 1455 / "LMODE" PSEUDO-OP PROCESSOR. 1456 1457 001555 7330 XLMODE, NL4000 /INDICATE LINC MODE 1458 1459 / "PMODE" PSEUDO-OP PROCESSOR. 1460 1461 001556 5757 XPMODE, JMP I .+1 /CONTINUE THERE 1462 001557 7254 PLMODE /**** RELOCATE **** 1463 1464 001560 3366 PDUMPL, XNOPRTN /**** /Q OR /O **** DUMPC (RELOCATED) 1465 001561 0000 POINTMP,.-. /ADDRESS STORED HERE 1466 1467 001567 0464 PAGE 001570 1544 001571 2001 001572 3517 001573 7702 001574 7704 001575 0240 001576 1346 001577 7610 1468 / LITERAL PROCESSOR. 1469 1470 / TESTLI ROUTINE COMES HERE BY A TABLE BRANCH FOR THE CHARACTERS: "(", "[", "#". 1471 1472 001600 7330 LPARN, NL4000 /"(" ENTRY 1473 001601 7001 LBRAK, IAC /"[" ENTRY 1474 001602 3167 NUMSGN, DCA Q /"#" ENTRY 1475 001603 4541 JMS I CHKLST/[XCHKLST]/SEE IF LEGAL HERE 1476 001604 5675 JMP I LITNBL /CONTINUE THERE 1477 1478 / CLOSING LITERAL CHARACTER PROCESSOR. 1479 1480 001605 7330 RBRAK, NL4000 /"]" ENTRY 1481 001606 3025 RPARN, DCA TMP /")" ENTRY 1482 001607 1150 TAD LITFLG /ARE LITERALS IN PROGRESS? 1483 001610 7650 SNA CLA /SKIP IF YES 1484 001611 5501 JMP I BDCH/[ILLCHR] /BRANCH TO ILLEGAL CHARACTER ROUTINE 1485 001612 1152 TAD LITYPE /GET LITERAL TYPE 1486 001613 7640 SZA CLA /NUMBER-SIGN ALLOWS EITHER 1487 001614 1025 TAD TMP /ADD ON RBRAK FLAG OR RPARN 0 1488 001615 7740 SMA SZA CLA /SKIP IF NUMBER-SIGN OR MATCHING TYPE 1489 001616 5501 JMP I BDCH/[ILLCHR] /BRANCH TO ILLEGAL CHARACTER ROUTINE 1490 001617 7240 NL7777 /SET AC FOR 1491 001620 3151 DCA LITSWT /CLOSEOUT INDICATOR 1492 001621 3073 DCA CHAR /PREVENT SCANNING PROBLEMS 1493 001622 5561 JMP I PEOS/[EOS] /NOW CLOSE OUT THE SUB-EXPRESSION 1494 1495 / "SKIP" PSEUDO-OP PROCESSOR. 1496 1497 001623 4430 XSKIP, JMS I EXPR/[EXPR] /GET THE ARGUMENT 1498 001624 7201 NL0001 /WASN'T ANY, ASSUME ONE 1499 001625 1076 TAD RESULT /GET RESULT 1500 001626 7040 SLNZP3, CMA /**** NOT /N **** NL7777 1501 001627 3424 DCA I TSPACE-JMSI /SAVE AS COUNT 1502 001630 3116 DCA BUFSW /HIDE SOURCE LINE 1503 001631 2424 ISZ I TSPACE-JMSI /DONE ENOUGH? 1504 001632 1053 TAD LSTSW /IS LISTING ALLOWED? 1505 001633 7650 SNA CLA /SKIP IF SO 1506 001634 5441 JMP I PSDRET/[XPSDRET]/JUMP IF NOT 1507 001635 4437 JMS I PCRLF/[XPCRLF] /DO A , 1508 001636 5231 JMP .-5 /TRY AGAIN 1509 001637 0000 CHKSTN, .-. /CHECK IF STATEMENT NUMBER NEEDED 1510 001640 2676 ISZ I PSTSW/(STSW) /IS IT NEEDED? 1511 001641 5252 JMP CHSTNXT /NO, JUST MOVE OVER 1512 001642 1274 TAD DIGPT /YES, SETUP THE 1513 001643 3014 DCA TXR /DIGIT POINTER 1514 001644 1414 TAD I TXR /GET A DIGIT 1515 001645 7510 SPA /END OF DIGITS? 1516 001646 5251 JMP CHSTND /YES, FINISH UP 1517 001647 4446 JMS I P6CH/[XP6CH] /NO, PRINT IT 1518 001650 5244 JMP .-4 /GO GET ANOTHER DIGIT 1519 1520 001651 7200 CHSTND, CLA /CLEAN UP 1521 001652 4432 CHSTNXT,JMS I GETCOL/[XGETCOL]/GET TO 1522 001653 7770 -10 /COLUMN 8 1523 001654 5637 JMP I CHKSTN /RETURN 1524 1525 001655 0000 XTESTL, .-. /CLASSIFY NEXT CHARACTER 1526 001656 4431 TESTLI, JMS I GCH/[XGCH] /GET A CHARACTER 1527 001657 7450 SNA /? 1528 001660 5561 JMP I PEOS/[EOS] /YES, FINISH UP STATEMENT 1529 001661 1005 TAD M32/[-"Z!300] /COMPARE TO A LETTER 1530 001662 7750 SPA SNA CLA /SKIP IF NOT ALPHA 1531 001663 5272 JMP LETTER /JUMP IF ALPHA 1532 001664 1073 TAD CHAR /\ 1533 001665 1277 TAD TRATBL/(XTRATAB)/ >SETUP TABLE BRANCH 1534 001666 3025 DCA TMP // 1535 001667 1425 TAD I TMP /GET ADDRESS 1536 001670 3025 DCA TMP /STASH IT 1537 001671 5425 JMP I TMP /BRANCH THERE 1538 1539 001672 2255 LETTER, ISZ XTESTL /BUMP RETURN FOR ALPHA 1540 001673 5655 DIGIT, JMP I XTESTL /RETURN IMMEDIATELY IF A DIGIT 1541 1542 001674 7512 DIGPT, DIGS-1 /**** RELOCATE **** 1543 001675 0772 LITNBL, ILLCHR /**** /Q OR /O **** LITMORE (RELOCATED) 1544 001676 3573 PSTSW, STSW /POINTER TO STATEMENT NEEDED SWITCH 1545 001677 1000 TRATBL, XTRATAB /TRANSLATE TABLE POINTER 1546 1547 001700 0000 ZBLOCK .&7600+101-. /EMPTY SPACE! 1548 / FURTHER ASSEMBLY INITIALIZATION. 1549 1550 / THIS SPACE WILL BE USED FOR CURRENT PAGE LITERALS (IF ENABLED). 1551 1552 / TEST FOR CHAINING OPTIONS USING THE FOUR PAGES (000200-001177) STILL 1553 / AVAILABLE AT THIS POINT AS A BUFFER. WHEN DONE, LOAD IN THE OVERLAY 1554 / CONTAINING THE ASSEMBLER CODE NORMALLY FOUND THERE. 1555 1556 / THE CONSOLE OVERLAY TEST IS LOCATED ON THE SAME PAGE AS THE LPT: TEST CODE. 1557 / THIS IS DONE TO HELP THE LPT: CODE ACCESS THE LOGICAL I/O WORDS NEEDED 1558 / FOR THE LOGICAL LINEPRINTER TEST. HOWEVER, WE TEST FOR THE OVERLAY HERE 1559 / FIRST BECAUSE WE MIGHT HAVE TO COMPLAIN ABOUT A SYSTEM CATALOG LOOKUP 1560 / FAILURE ON THE SYSTEM CONSOLE! 1561 1562 001701 4777 CHKCONS,JMS I (CONTEST) /ENABLE POSSIBLE CONSOLE OVERLAY NOW 1563 /IN CASE OF CHAINING LOOKUP FAILURES 1564 001702 1512 TESTEM, TAD I NM2/[SWMX] /GET /M-/X SWITCHES 1565 001703 7700 SMA CLA /SKIP IF /M SET 1566 001704 5312 JMP TESTGE /JUMP IF /M NOT SET 1567 001705 4776 JMS I (SYSLOOK) /LOOKUP 1568 001706 1501 TEXT "MAP";0 /BITMAP SYSTEM PROGRAM 001707 2000 001710 0000 1569 001711 5322 JMP BSET /SET /B SWITCH IF FOUND 1570 1571 001712 1511 TESTGE, TAD I NM1/[SWAL] /GET /A-/L SWITCHES 1572 001713 0055 AND L40/[40] /JUST /G SWITCH 1573 001714 7650 SNA CLA /SKIP IF SET 1574 001715 5323 JMP CODELOD /JUMP IF NOT SET 1575 001716 4776 JMS I (SYSLOOK) /LOOKUP 1576 001717 0211 TEXT "BIN";0 /BINARY LOADER SYSTEM PROGRAM 001720 1600 001721 0000 1577 001722 4350 BSET, JMS SETB /SET /B SWITCH IF FOUND 1578 001723 4731 CODELOD,JMS I SYSIOP/(SYSIO) /CALL I/O ROUTINES 1579 001724 0200 ATOM /OVERLAY LOWEST ADDRESS 1580 001725 0400 ASMFUN, ASMSIZE^100+.-. /UNIT BITS WILL BE FILLED IN 1581 001726 0037 ASMBLK /RELATIVE BLOCK; WILL BE ADJUSTED 1582 001727 1511 TAD I NM1/[SWAL] /GET /A-/L SWITCHES 1583 001730 0375 AND (2003) /JUST /B, /K, /L SWITCHES 1584 001731 7640 SYSIOP, SZA CLA /SKIP IF NONE SET 1585 001732 3774 DCA I (PAS2ZAP) /ALLOW PASS TWO IF ANY SET 1586 001733 1511 TAD I NM1/[SWAL] /GET /A-/L SWITCHES 1587 001734 7006 RTL /B SWITCH TO LINK 1588 001735 7630 SZL CLA /SKIP IF NO BINARY 1589 001736 3773 DCA I (REMOVB) /PREVENT "ENDBIN" DESTRUCTION IF /B SET 1590 001737 7420 SNL /SKIP IF /B SWITCH SET 1591 001740 3772 DCA I (NOBNZP) /PREVENT BINARY IF /B NOT SET 1592 001741 1511 TAD I NM1/[SWAL] /GET /A-/L SWITCHES 1593 001742 0100 AND L4/[4] /JUST /J SWITCH 1594 001743 7650 SNA CLA /SKIP IF SET 1595 001744 5771 JMP I (TSTNOT) /JUMP IF NOT SET 1596 001745 1370 TAD (SZA) /GET "SZA" INSTRUCTION 1597 001746 3767 DCA I (ZERSWT) /PREVENT EXTRA ZERO WORD GENERATION 1598 001747 5771 JMP I (TSTNOT) /CONTINUE THERE 1599 001750 0000 SETB, .-. /SET /B SWITCH ROUTINE 1600 001751 1511 TAD I NM1/[SWAL] /GET /A-/L SWITCHES 1601 001752 7106 CLL RTL /B SWITCH TO LINK 1602 001753 7132 STL RTR /SET IT AND MOVE BACK 1603 001754 3511 DCA I NM1/[SWAL] /STORE THEM ALL BACK 1604 001755 5750 JMP I SETB /RETURN 1605 1606 001767 1147 PAGE 001770 7440 001771 4600 001772 4260 001773 3724 001774 4255 001775 2003 001776 6416 001777 4666 1607 1608 / ZBLOCK 77 /CURRENT PAGE LITERALS HERE 1609 1610 CPLBEG= . /END OF PREVIOUS PAGE USED FOR CURRENT PAGE LITERALS 1611 IFNZRO 2000-. 1612 002000 0000 INSM, .-. /LOOKUP A SYMBOL ROUTINE 1613 002001 7040 CMA /SETUP "DO NOT ENTER SYMBOL" SWITCH 1614 002002 3313 DCA INSMTMP /STASH IT FOR LATER 1615 002003 1111 TAD NM1 /ARE WE TRYING TO LOOK UP A NULLNESS? 1616 002004 7650 SNA CLA /SKIP IF NOT 1617 002005 5261 JMP LMZAP8 /RETURN TO CALLER IF SO 1618 002006 1067 TAD MSTSIZ /SETUP REHASH 1619 002007 3311 DCA RHSHCT /LOOP COUNTER 1620 002010 1111 TAD NM1 /\ 1621 002011 7106 CLL RTL / \ 1622 002012 1112 TAD NM2 / \ 1623 002013 7006 RTL / >HASH THE SYMBOL TO A VALUE 1624 002014 1113 TAD NM3 / / 1625 002015 7006 RTL / / 1626 002016 1111 TAD NM1 // 1627 002017 7120 SRCHL, STL /\ 1628 002020 1067 TAD MSTSIZ / \ 1629 002021 7420 SNL / \CALCULATE SYMNUM MODULO 1630 002022 5217 JMP .-3 / /THE SYMBOL TABLE SIZE 1631 002023 1312 TAD STSIZE / / 1632 002024 3007 DCA SYMNUM // 1633 002025 4450 JMS I SETSYM/[XSETSM] /SETUP SYMBOL POINTER AND FIELD 1634 002026 1413 TAD I SXR /PICK UP FIRST WORD OF SYMBOL 1635 002027 3125 DCA NMFLGS /AND SAVE IT FOR LATER 1636 002030 1071 TAD L1777/[1777] /SETUP MASK 1637 002031 0125 AND NMFLGS /GET FIRST 2 CHARACTERS OF SYMBOL 1638 002032 7450 SNA /SKIP IF IT'S A SYMBOL 1639 002033 5263 JMP ENTSYM /ENTER NEW SYMBOL IF IT'S A HOLE (MAYBE) 1640 002034 7041 CIA /SETUP FOR COMPARISON 1641 002035 1111 TAD NM1 /COMPARE FIRST 2 CHARACTERS OF SYMBOL 1642 002036 7640 SZA CLA /SKIP IF THEY MATCH 1643 002037 5301 JMP REHASH /ELSE FIND A NEW SLOT 1644 002040 7350 NL3777 /SETUP MASK BITS 1645 002041 0413 AND I SXR /GET NEXT 2 CHARACTERS 1646 002042 7041 CIA /SETUP FOR COMPARISON 1647 002043 1112 TAD NM2 /COMPARE NEXT 2 CHARACTERS 1648 002044 7640 SZA CLA /SKIP IF THEY MATCH 1649 002045 5301 JMP REHASH /ELSE FIND A NEW SLOT 1650 002046 7350 NL3777 /SETUP MASK BITS 1651 002047 0413 AND I SXR /GET LAST PART OF SYMBOL 1652 002050 7041 CIA /SETUP FOR COMPARISON 1653 002051 1113 TAD NM3 /COMPARE LAST 2 CHARACTERS 1654 002052 7640 SZA CLA /SKIP IF THEY MATCH 1655 002053 5301 JMP REHASH /ELSE FIND A NEW SLOT 1656 002054 1413 TAD I SXR /GET SYMBOLS VALUE 1657 002055 3135 DCA SVAL /AND PASS IT BACK TO CALLER 1658 002056 1125 TAD NMFLGS /GET FLAG BITS 1659 002057 0010 INXIT, AND L6000/[6000] /**** /L AND /X AND PASS 2 **** JMP I CRZAPA 1660 002060 6201 CRZAPA, CDF 00 /**** /L AND /X AND PASS 2 **** CREFSYM (RELOCATED) 1661 002061 3125 LMZAP8, DCA NMFLGS /**** /8 OR /9 **** JMP I LMZAP9 1662 002062 5600 LMZAP9, JMP I INSM /**** /8 OR /9 **** LNCSYM (RELOCATED) 1663 002063 2313 ENTSYM, ISZ INSMTMP /SHOULD WE ENTER THE NEW SYMBOL? 1664 002064 5257 JMP INXIT /NO, SO JUST EXIT (WITH SYMNUM SET) 1665 002065 4450 JMS I SETSYM/[XSETSM] /SETUP SYMBOL POINTER AND FIELD 1666 002066 1111 TAD NM1 /\ 1667 002067 3413 DCA I SXR / \ 1668 002070 1112 TAD NM2 / \ENTER SYMBOL IN 1669 002071 3413 DCA I SXR / /EMPTY SLOT 1670 002072 1113 TAD NM3 / / 1671 002073 3413 DCA I SXR // 1672 002074 1104 TAD LOCNTR /PUT LOCATION COUNTER IN VALUE 1673 002075 3413 DCA I SXR /SLOT IN CASE IT'S UNDEFINED 1674 002076 1104 TAD LOCNTR /GET SYMBOL'S CURRENT VALUE 1675 002077 3135 DCA SVAL /AND RETURN IT TO CALLER 1676 002100 5257 JMP INXIT /NOW RETURN WITH FLAGS CLEARED 1677 1678 002101 6201 REHASH, CDF 00 /MAKE SURE 1679 002102 1007 TAD SYMNUM /\ 1680 002103 7001 IAC / \REHASH TO A NEW 1681 002104 2311 ISZ RHSHCT / /SYMBOL NUMBER 1682 002105 5217 JMP SRCHL // 1683 002106 4427 JMS I ERR/[XERR] /IF WE HASHED THROUGH THE ENTIRE 1684 002107 3323 ST /SYMBOL TABLE, THEN IT'S FULL 1685 002110 5523 JMP I L7600/[SBOOT] /RETURN TO THE MONITOR 1686 1687 002111 0000 RHSHCT, .-. /REHASH LOOP COUNT 1688 002112 0000 STSIZE, .-. /SYMBOL TABLE SIZE 1689 002113 0000 INSMTMP,.-. /TEMPORARY 1690 1691 002114 0000 XTEOS, .-. /TEST FOR SEMICOLON OR () 1692 002115 1073 TAD CHAR /GET LATEST CHARACTER 1693 002116 7440 SZA /? 1694 002117 1323 TAD SEMICK/(-";!200)/IS IT A SEMICOLON? 1695 002120 7650 SNA CLA /SKIP IF NEITHER 1696 002121 2314 ISZ XTEOS /BUMP IF EITHER 1697 002122 5714 JMP I XTEOS /RETURN 1698 1699 002123 7705 SEMICK, -";!200 /CONVERSION CONSTANT 1700 / "FIXMRI" PSEUDO-OP PROCESSOR. 1701 1702 002124 7332 MAKMRI, NL2000 /FORCE ON 1703 002125 3120 DCA FIXMRF /MRI BIT 1704 002126 3566 DCA I PTNREG/[XPTNREG]/RESET CALLER 1705 002127 4430 JMS I EXPR/[XEXPR] /SCAN IT OFF 1706 002130 5334 JMP FMRIOK /PROBABLY OK 1707 002131 4427 MRIERR, JMS I ERR/[XERR] /COMPLAIN 1708 002132 0347 FI /OF FIXMRI ABUSE 1709 002133 5340 JMP .+5 /MUST CLEAN UP 1710 1711 002134 1566 FMRIOK, TAD I PTNREG/[XPTNREG]/GET LAST CALLER 1712 002135 1343 TAD MRICON/(-MRILOC)/COMPARE TO CORRECT VALUE 1713 002136 7640 SZA CLA /SKIP IF OK 1714 002137 5331 JMP MRIERR /BARF 1715 002140 3120 DCA FIXMRF /CLEAR FLAG 1716 002141 3566 DCA I PTNREG/[XPTNREG]/PRESET CALLER FOR NEXT 1717 002142 5441 JMP I PSDRET/[XPSDRET]/RETURN 1718 1719 002143 7007 MRICON, -MRILOC /MAGIC VALUE WHEN CALLED CORRECTLY 1720 1721 / "XLIST" PSEUDO-OP PROCESSOR. 1722 1723 002144 4430 XLISTI, JMS I EXPR/[XEXPR] /GET ARGUMENT 1724 002145 1053 TAD LSTSW /IF NO EXPRESSION FLIP CURRENT VALUE 1725 002146 1076 TAD RESULT /COMPARE TO RESULT 1726 002147 7650 SNA CLA /IF ZERO THEN 1727 002150 1105 TAD LSTWD /LIST IF THERE IS ANY LISTING AT ALL 1728 002151 3053 DCA LSTSW /STORE VALUE 1729 002152 3116 DCA BUFSW /DO NOT PRINT THE LINE 1730 002153 5441 JMP I PSDRET/[XPSDRET]/RETURN 1731 1732 / "ZBLOCK" PSEUDO-OP PROCESSOR. 1733 1734 002154 4430 ZBLK, JMS I EXPR/[XEXPR] /GET ARGUMENT 1735 002155 2172 ISZ UNDFLG /THIS WILL REPORT THE ERROR 1736 002156 4775 JMS I PUOCHK/(UOCHEK) /CHECK IF ARGUMENT IS UNDEFINED 1737 002157 1076 TAD RESULT /GET RESULTANT ARGUMENT 1738 002160 7450 SNA /SKIP IF ANY 1739 002161 5441 JMP I PSDRET/[XPSDRET]/DO NOTHING ON ZERO ARGUMENT 1740 002162 7041 CIA /INVERT 1741 002163 3156 DCA OPSW /SAVE AS COUNTER 1742 002164 1053 TAD LSTSW /GET LISTING STATUS 1743 002165 4420 PUSH /SAVE IT 1744 002166 4444 JMS I PUTWD/[XPUTWD] /OUTPUT A ZERO WORD 1745 002167 3053 DCA LSTSW /TURN OFF FURTHER LISTING 1746 002170 2156 ISZ OPSW /DONE ENOUGH YET? 1747 002171 5366 JMP .-3 /NO, GO BACK 1748 002172 4421 POP /GET OLD LISTING STATUS 1749 002173 3053 DCA LSTSW /RESTORE IT 1750 002174 5441 JMP I PSDRET/[XPSDRET]/RETURN 1751 1752 002175 0672 PUOCHK, UOCHEK /POINTER TO UNDEFINED ORIGIN CHECK 1753 002176 0100 CRFUN, CRFSIZE^100+.-. /THESE ARE HERE FOR BENEFIT 1754 002177 0062 CRFOVB, CRFBLK /OF SYMBOL TABLE OVERLAY 1755 PAGE 1756 1757 002200 0000 XSETSM, .-. /SETUP SYMBOL POINTER AND FIELD ROUTINE 1758 002201 7300 CLA CLL /CLEAR DIRTY AC AND LINK 1759 002202 3243 DCA SYMFLD /CLEAR FIELD 1760 002203 1007 TAD SYMNUM /PICK UP SYMBOL NUMBER 1761 002204 1244 TAD SYMS4K /CHECK IF SYMBOL IS IN FIELD 0 1762 002205 7410 USE4K, SKP /**** USING FIELD 0 **** SNL 1763 002206 5214 JMP .+6 /JUMP IF IT IS 1764 002207 2243 ISZ SYMFLD /BUMP TO NEXT FIELD 1765 002210 7120 STL /\ 1766 002211 1010 TAD L6000/[-2000] / \SEE IF SYMBOL BELONGS 1767 002212 7420 SNL / /IN THIS FIELD 1768 002213 5207 JMP .-4 // 1769 002214 7106 CLL RTL /\ 1770 002215 3013 DCA SXR / \ 1771 002216 1243 TAD SYMFLD / \ 1772 002217 7640 SZA CLA / \CREATE ADDRESS OF SYMBOL-1 1773 002220 1054 TAD L200/[200] / /IN THE CALCULATED FIELD 1774 002221 1242 TAD L7576/(7576) / / 1775 002222 1013 TAD SXR / / 1776 002223 3013 DCA SXR // 1777 002224 4226 JMS XSTFLD /NOW GO SET THE DATA FIELD 1778 002225 5600 JMP I XSETSM /AND RETURN 1779 1780 002226 0000 XSTFLD, .-. /SET SYMBOL DATA FIELD ROUTINE 1781 002227 1243 TAD SYMFLD /GET THE DATA FIELD 1782 002230 7450 SNA /SKIP IF NOT FIELD 0 1783 002231 5626 JMP I XSTFLD /JUST RETURN IF FIELD 0 1784 002232 7106 CLL RTL /\ 1785 002233 7004 RAL / \SETUP THE 1786 002234 1327 TAD GETSM1/(CDF 00)/ /CDF INSTRUCTION 1787 002235 3236 DCA .+1 // 1788 002236 6201 CDF 00+.-. /WILL CONTAIN THE CORRECT FIELD 1789 002237 5626 JMP I XSTFLD /AND RETURN 1790 1791 / "SEGMNT" PSEUDO-OP PROCESSOR. 1792 1793 002240 5641 XSGMNT, JMP I .+1 /CONTINUE THERE 1794 002241 7067 SEGMENT /**** RELOCATE **** 1795 1796 002242 7576 L7576, 7576 /CONSTANT 7576 1797 002243 0000 SYMFLD, .-. /HOLDS SYMBOL'S DATA FIELD 1798 002244 0000 SYMS4K, 0 /-NUMBER OF SYMBOLS IN FIELD 0 1799 002245 0000 GSADJ, .-. /GETSYM ADJUSTMENT FACTOR 1800 002246 0000 GETSM, .-. /GET NEXT SYMBOL ROUTINE 1801 002247 7650 SNA CLA /SKIP IF FIRST TIME CALL 1802 002250 5265 JMP GETSM0 /JUMP IF WE WANT NEXT SYMBOL 1803 002251 3007 DCA SYMNUM /SETUP INITIAL SYMBOL NUMBER 1804 002252 4450 JMS I SETSYM/[XSETSM] /SETUP SYMBOL POINTER AND FIELD 1805 002253 6214 RDF /GET STARTING DATA FIELD 1806 002254 7650 SNA CLA /SKIP IF NOT FIELD 0 1807 002255 1054 TAD L200/[-7600] /GET FIELD 0 LIMIT FACTOR 1808 002256 3245 DCA GSADJ /SAVE 1809 002257 6214 RDF /AGAIN 1810 002260 1327 TAD GETSM1 /MAKE INTO CDF INSTRUCTION 1811 002261 3304 DCA GSCDF /STASH IT 1812 002262 1067 TAD MSTSIZE /CALCULATE THE 1813 002263 3344 DCA XPTNREG /SYMBOL COUNT 1814 002264 5304 JMP GSCDF /GO GET FIRST SYMBOL 1815 1816 002265 2344 GETSM0, ISZ XPTNREG /SEE IF ANY MORE 1817 002266 7410 SKP /SKIP IF THERE ARE 1818 002267 5327 JMP GETSM1 /JUMP IF NO MORE 1819 002270 1245 TAD GSADJ /GET ADJUSTMENT FACTOR 1820 002271 1013 TAD SXR /ADD ON SYMBOL POINTER 1821 002272 7040 CMA /INVERT 1822 002273 7640 AI7640, SZA CLA /SKIP IF NEW FIELD 1823 002274 5304 JMP GSCDF /JUMP IF NOT 1824 002275 1316 TAD GS10/(10) /GET FIELD BUMP VALUE 1825 002276 1304 TAD GSCDF /ADD ON OLD FIELD 1826 002277 3304 DCA GSCDF /PUT IT BACK 1827 002300 3245 DCA GSADJ /CLEAR ADJUSTMENT FACTOR FOR NON-ZERO FIELDS 1828 002301 7240 NL7777 /RESET 1829 002302 3013 DCA SXR /SYMBOL POINTER 1830 002303 2243 ISZ SYMFLD /MAKE SETFLD WORK 1831 002304 6201 GSCDF, CDF 00 /GET INTO CORRECT FIELD 1832 002305 1413 TAD I SXR /GET FIRST WORD OF SYMBOL 1833 002306 7440 SZA /SKIP IF IT'S A HOLE 1834 002307 5314 JMP .+5 /JUMP IF IT'S A SYMBOL 1835 002310 1013 TAD SXR /BUMP 1836 002311 1060 TAD L3/[3] /TO 1837 002312 3013 DCA SXR /NEXT 1838 002313 5265 JMP GETSM0 /TRY AGAIN 1839 1840 002314 3111 DCA NM1 /STASH FIRST WORD OF SYMBOL 1841 002315 1111 TAD NM1 /GET IT BACK 1842 002316 0010 GS10, AND L6000/[6000] /JUST SYMBOL TYPE FLAGS 1843 002317 3125 DCA NMFLGS /STASH THEM 1844 002320 1413 TAD I SXR /\ 1845 002321 3112 DCA NM2 / \NOW STASH REST 1846 002322 1413 TAD I SXR / /OF THE SYMBOL 1847 002323 3113 DCA NM3 // 1848 002324 1413 TAD I SXR /GET SYMBOL'S VALUE 1849 002325 3135 DCA SVAL /AND STASH IT 1850 002326 2246 ISZ GETSM /PREPARE FOR SKIP RETURN 1851 002327 6201 GETSM1, CDF 00 /MAKE SURE 1852 002330 5646 JMP I GETSM /AND NOW RETURN 1853 002331 0000 XPRTSM, .-. /PRINT OUT SYMBOL IN NM1-3 1854 002332 1111 TAD NM1 /GET FIRST WORD 1855 002333 0071 AND L1777/[1777] /JUST SYMBOL BITS 1856 002334 4445 JMS I P45CH/[XP45CH] /PRINT IT IN RADIX 45 1857 002335 7350 NL3777 /SETUP CHARACTER MASK 1858 002336 0112 AND NM2 /GET SECOND PAIR 1859 002337 4445 JMS I P45CH/[XP45CH] /PRINT IT 1860 002340 7350 NL3777 /SETUP CHARACTER MASK 1861 002341 0113 AND NM3 /GET FINAL PAIR 1862 002342 4445 JMS I P45CH/[XP45CH] /DO FINAL PRINTING 1863 002343 5731 JMP I XPRTSM /RETURN TO CALLER 1864 1865 002344 0000 XPTNREG,.-. /NON-REGULAR PRINT 1866 002345 3200 DCA XSETSM /SAVE PASSED ARGUMENT 1867 002346 1053 TAD LSTSW /IS LISTING ON? 1868 002347 7650 SNA CLA /SKIP IF YES 1869 002350 5356 JMP PTNXIT /NO, FINISH IT 1870 002351 4515 JMS I BEGLINE/[XBGLIN]/GET TO NEW LINE IN CASE MULTI-STATEMENT 1871 002352 4560 JMS I PCHKSTN /CHECK IF STATEMENT NUMBER NEEDED HERE 1872 002353 4432 JMS I GETCOL/[XGETCOL]/GET TO APPROPRIATE COLUMN 1873 002354 7771 EXZAP2, -7 /**** /L AND /X **** -17 1874 002355 1200 TAD XSETSM /GET ARGUMENT BACK 1875 002356 4530 PTNXIT, JMS I PRTFLD/[XPRFLD] /GO PRINT IT 1876 002357 5744 JMP I XPTNREG /RETURN 1877 1878 / SINGLE QUOTE CHARACTER "'" PROCESSOR. 1879 1880 002360 4541 QUOTE, JMS I CHKLST/[XCHKLST]/CHECK IF LEGAL HERE 1881 002361 4431 JMS I GCH/[XGCH] /GET NEXT CHARACTER 1882 002362 4534 JMS I ROR6/[XROR6] /SHIFT IT 1883 002363 7010 RAR /LEFT SIX 1884 002364 3541 DCA I CHKLST/[XCHKLST]/SAVE IT 1885 002365 4431 JMS I GCH/[XGCH] /GET ANOTHER ONE 1886 002366 1541 TAD I CHKLST/[XCHKLST]/ADD ON PREVIOUS 1887 002367 3135 DCA SVAL /SAVE IT 1888 002370 5177 JMP SCRESET /GO PROCESS NEXT ELEMENT 1889 1890 / "ASMIFM" PSEUDO-OP PROCESSOR. 1891 1892 002371 1055 MASSIF, TAD L40/[SPA-SNA] /SETUP SPA CLA 1893 1894 / "ASMIFZ" PSEUDO-OP PROCESSOR. 1895 1896 002372 1316 ZASSIF, TAD GS10/(SNA-SZA) /SETUP SNA CLA 1897 1898 / "ASMIFN" PSEUDO-OP PROCESSOR. 1899 1900 002373 1273 NASSIF, TAD AI7640/(SZA CLA)/SETUP SZA CLA 1901 002374 5775 JMP I .+1 /CONTINUE THERE 1902 002375 7032 ASMCOM /**** RELOCATE **** 1903 1904 / "DTORG" PSEUDO-OP PROCESSOR. 1905 1906 002376 5777 XDTORG, JMP I .+1 /CONTINUE THERE 1907 002377 7256 XDTOR2 /**** RELOCATE **** 1908 PAGE 1909 1910 / ALL CODE PAST HERE IS CONSIDERED RESIDENT WITH RESPECT TO THE VARIOUS 1911 / OVERLAYS THAT CAN COME IN BEFORE THIS POINT. 1912 1913 / BINARY OUTPUT ROUTINE. 1914 1915 002400 0000 BINOUT, .-. /BINARY FILE OUTPUT ROUTINE 1916 002401 3411 BININ, DCA I BXR /PUT OUTPUT WORD INTO BUFFER 1917 002402 1346 TAD RELBTS /GET FLAG BITS 1918 002403 7106 CLL RTL /SHIFT THEM 1919 002404 1600 TAD I BINOUT /BRING IN LATEST ONES 1920 002405 3346 DCA RELBTS /PUT THEM BACK 1921 002406 2341 ISZ WRDCNT /DONE 6 WORDS YET? 1922 002407 5600 JMP I BINOUT /NO, RETURN 1923 002410 1154 TAD L7772/[-6] /RESET WORD 1924 002411 3341 DCA WRDCNT /COUNT 1925 002412 1154 TAD L7772/[-6] /\ 1926 002413 1011 TAD BXR / \ 1927 002414 3260 DCA BINWRT / >PUT IN FINAL VALUE OF FLAG BITS 1928 002415 1346 TAD RELBTS / / 1929 002416 3660 DCA I BINWRT // 1930 002417 3346 DCA RELBTS /ZERO OUT FLAG WORD 1931 002420 2011 ISZ BXR /BUMP PAST FLAG WORD 1932 002421 2342 ISZ GRPCNT /DONE 22 GROUPS YET? 1933 002422 5600 JMP I BINOUT /NO, RETURN 1934 002423 1064 TAD L7756/[-22] /RESET GROUP 1935 002424 3342 DCA GRPCNT /COUNT 1936 002425 2000 ISZ RCDCNT /DONE 20 BLOCKS YET? 1937 002426 5237 JMP BWRITE /NO, JUST WRITE OUT A FEW 1938 002427 1066 TAD L7774/[7774] /\ 1939 002430 0743 AND I EOFGRP / \FORCE ON 1940 002431 7001 IAC / /END OF FILE 1941 002432 3743 DCA I EOFGRP // 1942 002433 4260 JMS BINWRT /WRITE OUT A FULL BLOCK 1943 002434 4301 JMS BGETFL /SETUP NEXT FILE 1944 002435 1744 TAD I EOFWRD /GET OVERFLOWING WORD 1945 002436 5201 JMP BININ /START OVER 1946 1947 002437 4260 BWRITE, JMS BINWRT /WRITE OUT A FULL BLOCK 1948 002440 5600 JMP I BINOUT /RETURN 1949 002441 0000 BEOTAPE,.-. /BINARY CLOSE ROUTINE 1950 002442 5641 JMP I BEOTAPE /\**** PASS 2 AND /B **** TAD WRDCNT 1951 002443 7041 CIA / \ 1952 002444 1154 TAD L7772/[-6] / >SETUP POINTER TO FINAL FLAG WORD 1953 002445 1011 TAD BXR / / 1954 002446 3260 DCA BINWRT // 1955 002447 1346 TAD RELBTS /\ 1956 002450 7106 CLL RTL / \ 1957 002451 7001 IAC / >CIRCULATE FLAG BITS TO FINAL STATE WITH ON 1958 002452 2341 ISZ WRDCNT / / 1959 002453 5250 JMP .-3 // 1960 002454 3660 DCA I BINWRT /SAVE FINAL FLAG WORD 1961 002455 1241 TAD BEOTAPE /POINT BINARY 1962 002456 3260 DCA BINWRT /TO WHO CALLED US 1963 002457 5265 JMP BEOTIN /FALL INTO BINWRT ROUTINE 1964 1965 002460 0000 BINWRT, .-. /PAGE CLOSING ROUTINE 1966 002461 2011 ISZ BXR /BUMP TO 1967 002462 2011 ISZ BXR /BLOCK END 1968 002463 2140 ISZ BUFCNT /DONE 2 YET? (4 IF 8K) 1969 002464 5660 JMP I BINWRT /NO, JUST RETURN 1970 002465 7344 BEOTIN, NL7776 /**** 8K ZAP **** TAD L7774/[-4] 1971 002466 3140 DCA BUFCNT /RESET BUFFER COUNT 1972 002467 4754 JMS I BSYSIO/(SYSIO) /WRITE OUT 1973 002470 4200 BUFFAD, BINARY /SOME BINARY 1974 002471 4200 BFUN, 2^100+WRITE+.-. /4^100+WRITE+.-. IF 8K 1975 002472 0000 BRECRD, .-. /BLOCK NUMBER 1976 002473 7326 B8KZAP, NL0002 /**** 8K ZAP **** TAD L4/[4] 1977 002474 1272 TAD BRECRD /ADD IN CURRENT BLOCK NUMBER 1978 002475 3272 DCA BRECRD /PUT BACK UPDATED VALUE 1979 002476 1270 TAD BUFFAD /RESET INDEXING 1980 002477 3011 DCA BXR /BUFFER POINTER 1981 002500 5660 JMP I BINWRT /RETURN 1982 002501 0000 BGETFL, .-. /GET A BINARY FILE ROUTINE 1983 002502 5701 JMP I BGETFL /**** PASS 2 **** TAD BUFFAD 1984 002503 3011 DCA BXR /SETUP BUFFER INDEX 1985 002504 1066 TAD L7774/[-6+2] /SETUP INITIAL 1986 002505 3341 DCA WRDCNT /WORD COUNT 1987 002506 1064 TAD L7756/[-22] /SETUP INITIAL 1988 002507 3342 DCA GRPCNT /GROUP COUNT 1989 002510 1377 TAD (-20) /SETUP INITIAL 1990 002511 3000 DCA RCDCNT /PAGE COUNT 1991 002512 1054 TAD L200/[200] /DEFAULT ORIGIN 1992 002513 3411 DCA I BXR /IS FIRST IN FILE 1993 002514 1137 TAD BLOCNTR /CURRENT OUTPUT LOCATION 1994 002515 3411 DCA I BXR /IS NEXT IN FILE 1995 002516 1147 TAD IFLAGS/[12] /INDICATE TWO 1996 002517 3346 DCA RELBTS /ORIGIN SETTINGS 1997 002520 2345 ISZ OUTCNT /BUMP TARGET COUNT 1998 002521 1065 TAD L7770/[7770] /FILE BLOCK MASK 1999 002522 0557 AND I OUTPTR /JUST FILE BITS 2000 002523 7450 SNA /ANY? 2001 002524 5336 JMP BOVFL /NO, BARF 2002 002525 3272 DCA BRECRD /SAVE IT 2003 002526 1557 TAD I OUTPTR /GET OUTPUT ARGUMENT AGAIN 2004 002527 0122 AND L7/[7] /JUST UNIT BITS 2005 002530 1347 TAD BFUNCON /ADD ON WRITE CONSTANT 2006 002531 3271 DCA BFUN /SAVE IT IN CALL 2007 002532 2157 ISZ OUTPTR /BUMP TO NEXT FILE 2008 002533 7344 BN8KZP, NL7776 /**** 8K ZAP **** TAD L7774 2009 002534 3140 DCA BUFCNT /RESET BUFFER COUNT 2010 002535 5701 JMP I BGETFL /RETURN 2011 2012 002536 4427 BOVFL, JMS I ERR/[XERR] /COMPLAIN OF 2013 002537 0131 BO /BINARY OVERFLOW 2014 002540 5523 JMP I L7600/[SBOOT] /BARF! 2015 2016 002541 0000 WRDCNT, .-. /WORD COUNT 2017 002542 0000 GRPCNT, .-. /GROUP COUNT 2018 002543 4567 EOFGRP, BINARY+367 /**** 8K ZAP **** BINARY+767 2019 002544 4575 EOFWRD, BINARY+375 /**** 8K ZAP **** BINARY+775 2020 002545 7776 OUTCNT, -2 /**** /D **** -3 **** OUTPUT FILES **** OTHER 2021 002546 0000 RELBTS, .-. /BINARY FLAGS WORD 2022 002547 4200 BFUNCON,2^100+WRITE /**** 8K ZAP **** 4^100+WRITE 2023 2024 / "ENDBIN" PSEUDO-OP PROCESSOR. 2025 2026 / DESTROYED IF NOT /B. 2027 2028 002550 4241 XENDBIN,JMS BEOTAPE /CLOSE BINARY FILE 2029 002551 4301 JMS BGETFL /GET NEXT FILE 2030 002552 5441 JMP I PSDRET/[XPSDRET]/RETURN 2031 002553 0000 CTLCTST,.-. /<^C> TEST ROUTINE 2032 002554 7640 BSYSIO, SZA CLA /THIS CLEARS THE AC 2033 002555 0000 INCHAR, .-. /THIS CAN BE SKIPPED 2034 002556 6031 CHKKSF, KSFIOT /**** CONSOLE **** CIF MCS+10 2035 002557 5753 CHKJMP, JMP I CTLCTST /**** CONSOLE **** JMS INCON 2036 002560 6034 CHKKRS, KRSIOT/OR KRBIOT /**** CONSOLE **** JMP I CTLCTST 2037 002561 0047 AND L177/[177] /JUST SEVEN BITS 2038 002562 3355 DCA INCHAR /SAVE IT 2039 002563 7346 NL7775 /-3 2040 002564 1355 TAD INCHAR /COMPARE TO LATEST CHARACTER 2041 002565 7450 SNA /SKIP IF NOT <^C> 2042 002566 2776 ISZ I (SCRSIZE) /ELSE SET SOFT INDICATOR 2043 002567 7750 SPA SNA CLA /SKIP IF <^D> OR GREATER 2044 002570 5523 JMP I L7600/[SBOOT] /ELSE GOODBYE 2045 002571 6032 CHKKCC, KCCIOT/OR 0000 /**** CONSOLE **** 0000 2046 002572 1355 TAD INCHAR /GET THE CHARACTER 2047 002573 5753 JMP I CTLCTST /RETURN 2048 2049 / "ASMSKP" PSEUDO-OP PROCESSOR. 2050 2051 002574 5775 SKPASM, JMP I .+1 /CONTINUE THERE 2052 002575 7042 SKIPASM /**** RELOCATE **** 2053 2054 002576 7611 PAGE 002577 7760 2055 / COMMA "," PROCESSOR. 2056 2057 002600 1051 COMMA, TAD PRVCHR /SYMBOL SCANNED? 2058 002601 7450 SNA /SKIP IF NOT 2059 002602 1075 TAD LBLSWT /TAG ALLOWED? 2060 002603 7650 SNA CLA /SKIP IF EITHER ON 2061 002604 1111 TAD NM1 /IS THIS A SYMBOL? 2062 002605 7650 SNA CLA /SKIP IF SO 2063 002606 5501 JMP I BDCH/[ILLCHR] /JUMP IF ANY CONDITION FAILED 2064 002607 7240 NL7777 /ALLOW UNDEFINED 2065 002610 4434 JMS I OPVAL/[XOPVAL] /EVALUATE SYMBOL 2066 002611 7000 COMADR, NOP /DON'T CARE 2067 002612 1125 TAD NMFLGS /HAD BETTER BE UNDEFINED 2068 002613 7440 SZA /ELSE 2069 002614 5347 JMP DTERR /COMPLAINTS WILL BE MADE 2070 002615 4452 BOS, JMS I SETFLD/[XSTFLD] /GET TO CORRECT FIELD 2071 002616 7346 NL7775 /BACKUP SYMBOL 2072 002617 1013 TAD SXR /TABLE POINTER 2073 002620 3025 DCA TMP /SAVE IT 2074 002621 1425 TAD I TMP /GET FIRST WORD 2075 002622 0071 AND L1777/[1777] /REMOVE OLD FLAG BITS 2076 002623 1003 TAD L2000/[2000] /MAKE IT DEFINED 2077 002624 3425 DCA I TMP /STORE INTO TABLE 2078 002625 2025 ISZ TMP /BUMP TO 2079 002626 2025 ISZ TMP /"DEFINED BY COMMA" WORD 2080 002627 1425 TAD I TMP /GET THIRD WORD 2081 002630 7004 RAL /MOVE OVER 2082 002631 7130 STL RAR /FORCE ON COMMA BIT 2083 002632 3425 DCA I TMP /STORE INTO TABLE 2084 002633 2025 ISZ TMP /BUMP TO VALUE WORD 2085 002634 1104 TAD LOCNTR /GET CURRENT LOCATION 2086 002635 3425 DCA I TMP /STORE AS VALUE OF SYMBOL 2087 002636 6201 CDF 00 /MAKE SURE 2088 002637 1111 TAD NM1 /GET LATEST FIRST 2089 002640 3370 DCA SM1 /SAVE IT 2090 002641 1112 TAD NM2 /GET LATEST SECOND 2091 002642 3371 DCA SM2 /SAVE IT 2092 002643 1113 TAD NM3 /GET LATEST THIRD 2093 002644 3372 DCA SM3 /SAVE IT 2094 002645 1104 TAD LOCNTR /GET LOCATION COUNTER 2095 002646 3373 DCA SM4 /SAVE IT ALSO 2096 002647 1055 TAD L40/[" &77] /GO BACK TO DRIVER 2097 002650 5177 JMP SCRESET /OF THIS MESS 2098 2099 002651 0000 XROR6, .-. /ROTATE RIGHT SIX BITS ROUTINE 2100 002652 7112 CLL RTR /\ 2101 002653 7012 RTR / >ROTATE RIGHT SIX 2102 002654 7012 RTR // 2103 002655 5651 JMP I XROR6 /RETURN 2104 002656 0000 XERR, .-. /ERROR ROUTINE 2105 002657 3423 DCA I TESTL-JMSI/[XTESTL] /SAVE A POSSIBLE ARGUMENT 2106 002660 1053 TAD LSTSW /GET CURRENT LIST SWITCH 2107 002661 4420 PUSH /SAVE IT 2108 002662 2053 PR53, ISZ LSTSW /FORCE LIST ON 2109 002663 4515 JMS I BEGLINE/[XBGLINE] /DO A , IF NOT AT BEGINNING OF LINE 2110 002664 1656 TAD I XERR /GET ERROR PAIR 2111 002665 0071 ATCOD, AND L1777/[1777] /JUST ALPHA BITS 2112 002666 4445 JMS I P45CH/[XP45CH] /**** /L AND /X AND PASS 2 **** JMP I CRERRP 2113 002667 3006 CRERRP, DCA RCHAR /**** /L AND /X AND PASS 2 **** CRFERR (REL.) 2114 002670 1656 TAD I XERR /GET ARGUMENT 2115 002671 7004 RAL /PUT FLAG BITS INTO LINK AND SIGN 2116 002672 7700 SMA CLA /SKIP IF ERRSYM ON 2117 002673 5277 JMP ERRLNK /JUMP IF NOT 2118 002674 4446 JMS I P6CH/[XP6CH] /PRINT OUT A 2119 002675 4531 JMS I PRTSYM/[XPRTSM] /PRINT OUT THE LATEST SYMBOL 2120 002676 7410 SKP /DON'T TEST ERROCT BIT 2121 002677 7420 ERRLNK, SNL /ERROCT BIT ON? 2122 002700 5304 JMP ERRNONE /NO, USE NORMAL OUTPUT 2123 002701 4446 JMS I P6CH/[XP6CH] /PRINT OUT A 2124 002702 1423 TAD I TESTL-JMSI/[XTESTL] /GET THE ARGUMENT BACK 2125 002703 4530 JMS I PRTFLD/[XPRFLD] /PRINT IT OUT IN OCTAL 2126 002704 4446 ERRNONE,JMS I P6CH/[XP6CH] /PRINT OUT A 2127 002705 1265 ERRZAP, TAD ATCOD/("A-300^45+"T-300)/**** PASS 2 AND /L **** JMP ERRXIT 2128 002706 4445 JMS I P45CH/[XP45CH] /PRINT IT 2129 002707 1370 TAD SM1 /GET FIRST PAIR 2130 002710 7650 SNA CLA /IS IT A SYMBOL AT ALL? 2131 002711 5337 JMP NONSYM /JUMP IF NOT 2132 002712 4446 JMS I P6CH/[XP6CH] /PRINT A 2133 002713 1370 TAD SM1 /GET FIRST PAIR 2134 002714 4445 JMS I P45CH/[XP45CH] /PRINT THEM 2135 002715 1371 TAD SM2 /GET SECOND PAIR 2136 002716 4445 JMS I P45CH/[XP45CH] /PRINT THEM 2137 002717 1372 TAD SM3 /GET THIRD PAIR 2138 002720 4445 JMS I P45CH/[XP45CH] /PRINT THEM 2139 002721 1262 TAD PR53/("+&77) /GET A PLUS IF APPROPRIATE 2140 002722 3002 DCA FCHAR /PUT IN FRONT 2141 002723 1373 TAD SM4 /GET LAST KNOWN LOCATION 2142 002724 7041 CIA /SUBTRACT FROM CURRENT 2143 002725 1104 TAD LOCNTR /NOW HAVE OFFSET FROM IT 2144 002726 7450 SNA /ZERO OFFSET? 2145 002727 5332 JMP .+3 /YES, DON'T PRINT IT 2146 002730 4530 JMS I PRTFLD/[XPRFLD] /PRINT THE OFFSET 2147 002731 7410 SKP /DON'T PRINT A 2148 002732 4446 JMS I P6CH/[XP6CH] /PRINT A 2149 002733 1360 TAD PR50/("(&77) /GET A LEFT PARENTHESIS 2150 002734 3002 DCA FCHAR /PUT IN FRONT 2151 002735 1200 TAD COMMA/(")&77) /GET A RIGHT PARENTHESIS 2152 002736 3006 DCA RCHAR /PUT IN BACK 2153 002737 1104 NONSYM, TAD LOCNTR /GET LOCATION COUNTER ITSELF 2154 002740 4530 JMS I PRTFLD/[XPRFLD] /GO PRINT IT 2155 002741 2117 ERRXIT, ISZ ERRTOT /ONE MORE ERROR 2156 002742 4437 JMS I PCRLF/[XPCRLF] /DO A , 2157 002743 2256 ISZ XERR /SKIP AROUND ARGUMENT 2158 002744 4421 POP /GET OLD VALUE OF SWITCH 2159 002745 3053 DCA LSTSW /RESTORE IT 2160 002746 5656 JMP I XERR /AND RETURN 2161 2162 002747 7710 DTERR, SPA CLA /MRI OR PSEUDO-OP? 2163 002750 5501 JMP I BDCH/[ILLCHR] /YES, COMPLAIN 2164 002751 1135 TAD SVAL /GET CURRENT VALUE 2165 002752 7041 CIA /INVERT 2166 002753 1104 TAD LOCNTR /COMPARE TO REDEFINITION ATTEMPT 2167 002754 7000 LMZAPJ, NOP /**** (/8 OR /9) AND LMODE **** AND L1777/[1777] 2168 002755 7650 SNA CLA /SKIP IF DIFFERENT 2169 002756 5215 JMP BOS /NO PROBLEMS IF SAME VALUE 2170 002757 4427 JMS I ERR/[XERR] /ONCE IS TOO MUCH 2171 002760 2250 PR50, DT /COMPLAIN OF THE "DT"'S 2172 002761 5215 JMP BOS /MEET THE NEW; SAME AS THE OLD 2173 2174 002762 0000 XBGLIN, .-. /GET TO BEGINNING OF LINE ROUTINE 2175 002763 1102 TAD COLCT /GET CURRENT COLUMN COUNT 2176 002764 7640 SZA CLA /SKIP IF ALREADY ZERO 2177 002765 4437 JMS I PCRLF/[XPCRLF] /DO A , 2178 002766 5762 JMP I XBGLIN /RETURN 2179 2180 /SLLRL4,XGBLURB /**** RELOCATE **** 2181 002767 7757 INTFPT, SFILES /FILE POINTER RESET VALUE; UPDATED BY OUTPUT FILES 2182 002770 0000 SM1, .-. /SYMBOL 2183 002771 0000 SM2, .-. /STORED 2184 002772 0000 SM3, .-. /HERE 2185 002773 0000 SM4, .-. /VALUE HERE 2186 002774 7600 LNEXT, SBOOT /**** /F OR /G OR /H OR /I OR /M OR /R OR /V OR /W OR /Z 2187 /OR EQUALS PARAMETER PASSED **** SLOAD 2188 2189 / DEFAULT OUTPUT FILE LIST. 2190 2191 002775 0020 BDFLST, BINADR+.-. /BOOTSTRAP UNIT BITS FILLED IN 2192 /**** /U **** XOR-ED WITH 0001 2193 002776 0040 DOLBLK+.-. /BOOTSTRAP UNIT BITS FILLED IN 2194 /**** /D AND /U **** XOR-ED WITH 0001 2195 002777 0000 .-. /MAY BE WIPED OUT AT END OF ASSEMBLY! 2196 PAGE 2197 2198 003000 0000 XPUTFLD,.-. /FIELD SETTING OUTPUT 2199 003001 3315 DCA XP45CH /SAVE PASSED VALUE 2200 003002 2144 ISZ DUMPSW /BUMP DUMP LITERALS SWITCH 2201 003003 4564 JMS I PRGLIT /DUMP LITERALS 2202 003004 1434 TAD I OPVAL/[XOPVAL] /GET FIELD BITS NUMBER 2203 003005 4566 JMS I PTNREG/[XPTNREG]/PRINT IT 2204 003006 4440 JMS I PRTBUF/[XPRTBF] /PRINT THE BUFFER 2205 003007 1107 TAD PUNSW /ARE WE PUNCHING? 2206 003010 7650 SNA CLA /SKIP IF SO 2207 003011 5600 JMP I XPUTFLD /JUMP IF NOT 2208 003012 1315 TAD XP45CH /RESTORE VALUE 2209 003013 4745 JMS I PUNCH /PUNCH IT 2210 003014 0003 0003 /FIELD BITS 2211 003015 5600 JMP I XPUTFLD /RETURN 2212 2213 003016 0000 XPUTORG,.-. /ORIGIN OUTPUT ROUTINE 2214 003017 3435 DCA I ORSYM/[XORSYM] /SAVE PASSED VALUE 2215 003020 1304 TAD L52/("*&77) /SETUP 2216 003021 3002 DCA FCHAR /"*" 2217 003022 1435 TAD I ORSYM/[XORSYM] /GET THE PASSED ORIGIN 2218 003023 4566 JMS I PTNREG/[XPTNREG]/GO PRINT IT 2219 003024 1107 TAD PUNSW /GET CURRENT PUNCH MODE 2220 003025 7650 SNA CLA /ARE WE PUNCHING? 2221 003026 5616 JMP I XPUTORG /NO, RETURN 2222 003027 1133 TAD RLOC8 /GET RELOCATION FACTOR 2223 003030 1435 TAD I ORSYM/[XORSYM] /GET CURRENT VALUE 2224 003031 3137 DCA BLOCNTR /SETUP REAL OUTPUT ORIGIN 2225 003032 1137 TAD BLOCNTR /GET THE VALUE OF ORIGIN 2226 003033 4745 JMS I PUNCH /GO PUNCH IT 2227 003034 0002 0002 /THESE ARE THE FLAG BITS 2228 003035 5616 JMP I XPUTORG /RETURN 2229 003036 0000 XPUTWD, .-. /OUTPUT A WORD ROUTINE 2230 003037 3435 DCA I ORSYM/[XORSYM] /SAVE PASSED WORD 2231 003040 1053 PUTZAP, TAD LSTSW /**** /Q **** JMS I PLIT2 2232 003041 7650 SNA CLA /SKIP IF LISTING ON 2233 003042 5305 JMP NOPUN1 /**** PASS 2 **** JMP NOLS1 2234 003043 1006 TAD RCHAR /SAVE POSSIBLE 2235 003044 3315 DCA XP45CH /QUOTE CHARACTER 2236 003045 4515 JMS I BEGLINE/[XBGLIN]/GET TO NEW LINE 2237 003046 4560 JMS I PCHKSTN /CHECK IF STATEMENT NUMBER NEEDED HERE 2238 003047 1143 TAD CURFLD /GET CURRENT FIELD 2239 003050 7010 RAR /MOVE DOWN 2240 003051 7012 RTR /THREE BITS 2241 003052 0122 AND L7/[7] /JUST HIGH-ORDER FIELD BITS 2242 003053 1061 TAD L60/["0&77] /MAKE IT ASCII 2243 003054 4446 JMS I P6CH/[XP6CH] /PRINT IT 2244 003055 1143 TAD CURFLD /GET CURRENT FIELD AGAIN 2245 003056 0122 AND L7/[7] /JUST LOW-ORDER FIELD BITS 2246 003057 1061 TAD L60/["0&77] /MAKE IT ASCII 2247 003060 3002 DCA FCHAR /SETUP FIRST CHARACTER 2248 003061 1104 TAD LOCNTR /\ 2249 003062 7041 CIA / >COMPARE LOCATION COUNTER 2250 003063 1137 TAD BLOCNTR // 2251 003064 7640 SZA CLA /SKIP IF NOT RELOCATED 2252 003065 1304 TAD L52/("*&77) /INDICATE RELOCATION WITH "*" 2253 003066 3006 DCA RCHAR /SAVE "*" OR 0000 FOR 2254 003067 1104 TAD LOCNTR /GET APPARENT LOCATION COUNTER 2255 003070 4530 JMS I PRTFLD/[XPRFLD] /GO PRINT IT 2256 003071 1315 TAD XP45CH /RESTORE POSSIBLE 2257 003072 3006 DCA RCHAR /QUOTE CHARACTER 2258 003073 1435 TAD I ORSYM/[XORSYM] /GET PASSED WORD 2259 003074 4530 JMS I PRTFLD/[XPRFLD] /GO PRINT IT 2260 003075 1107 NOLS1, TAD PUNSW /GET PUNCH FLAG 2261 003076 7650 SNA CLA /SKIP IF PUNCHING 2262 003077 5305 JMP NOPUN1 /JUMP IF NOT PUNCHING 2263 003100 1435 TAD I ORSYM/[XORSYM] /GET VALUE 2264 003101 4745 JMS I PUNCH /GO PUNCH IT 2265 003102 0000 P45TMP, 0000 /ZERO EXCEPT DURING P45CH ROUTINE 2266 003103 2137 ISZ BLOCNTR /BUMP OUTPUT POINTER 2267 003104 0052 L52, 52 /JUST IN CASE 2268 003105 2104 NOPUN1, ISZ LOCNTR /BUMP TO NEXT 2269 003106 5636 JMP I XPUTWD /RETURN 2270 003107 5636 JMP I XPUTWD /RETURN 2271 2272 / POWERS OF TEN FOR DECIMAL PRINT ROUTINE. 2273 2274 DECIMAL /MAKE IT EASIER 2275 2276 003110 6030 TENS, -1000 /-1750 2277 003111 7634 -100 /-144 2278 003112 7766 -10 /-12 2279 003113 7777 -1 /-1 2280 003114 0000 0 /THIS ENDS THE LIST 2281 2282 OCTAL /BACK TO NORMAL 2283 003115 0000 XP45CH, .-. /PRINT RADIX 45 PAIR ROUTINE 2284 003116 7410 SKP /DON'T BUMP THE FIRST TIME 2285 003117 2302 ISZ P45TMP /BUMP QUOTIENT 2286 003120 1344 TAD L7733/(-45) /SUBTRACT 45 2287 003121 7500 SMA /UNDERFLOW? 2288 003122 5317 JMP .-3 /NO, KEEP GOING 2289 003123 1033 TAD L45/[45] /RESTORE LOST POWER 2290 003124 3347 DCA XPRFLD /SAVE AS SECOND CHARACTER 2291 003125 1302 TAD P45TMP /GET FIRST CHARACTER 2292 003126 4333 JMS PRTCH /PRINT IT 2293 003127 1347 TAD XPRFLD /GET SECOND CHARACTER 2294 003130 4333 JMS PRTCH /PRINT IT 2295 003131 3302 DCA P45TMP /CLEAR QUOTIENT FOR NEXT TIME 2296 003132 5715 JMP I XP45CH /RETURN 2297 2298 003133 0000 PRTCH, .-. /PRINT RADIX 45 CHARACTERS 2299 003134 1005 TAD M32/[-"Z!300] /WAS IT A LETTER? 2300 003135 7540 SMA SZA /SKIP IF YES 2301 003136 1342 TAD L25/("0!100-"Z-1) /ADD ON DIGIT ADJUST 2302 003137 1343 TAD L32/("Z&77) /RESTORE TO SIX-BIT 2303 003140 4446 JMS I P6CH/[XP6CH] /GO PRINT IT 2304 003141 5733 JMP I PRTCH /RETURN 2305 2306 003142 0025 L25, 25 /CONSTANT 0025 2307 003143 0032 L32, 32 /CONSTANT 0032 2308 003144 7733 L7733, 7733 /CONSTANT 7733 2309 003145 3366 PUNCH, XNOPRTN /**** PASS 2 AND /B **** BINOUT 2310 003146 6064 PLIT2, LIT2 /**** RELOCATE **** 2311 2312 003147 0000 XPRFLD, .-. /PRINT OCTAL FIELD ROUTINE 2313 003150 3333 DCA PRTCH /SAVE IT FOR NOW 2314 003151 1053 TAD LSTSW /GET CURRENT LISTING SWITCH 2315 003152 7650 SNA CLA /SKIP IF LISTING 2316 003153 5375 JMP PRFXIT /JUMP IF NOT 2317 003154 1002 TAD FCHAR /GET FRONTAL CHARACTER 2318 003155 4446 JMS I P6CH/[XP6CH] /PRINT CURFLD LOW-ORDER (0-7), "*", OR 2319 003156 1066 TAD L7774/[-4] /SET UP THE 2320 003157 3002 DCA FCHAR /DIGIT COUNT 2321 003160 1333 XPRTAGN,TAD PRTCH /GET NUMBER BACK 2322 003161 7006 RTL /ROTATE 2323 003162 7004 RAL /3 PLACES 2324 003163 3333 DCA PRTCH /SAVE IT BACK 2325 003164 1333 TAD PRTCH /GET IT BACK 2326 003165 0060 AND L3/[3] /JUST LATEST BITS 2327 003166 7004 RAL /GET LINK BACK AND ADJUST IT 2328 003167 1061 TAD L60/["0&77] /MAKE IT PRINTABLE 2329 003170 4446 JMS I P6CH/[XP6CH] /OUTPUT IT 2330 003171 2002 ISZ FCHAR /DONE ALL YET? 2331 003172 5360 JMP XPRTAGN /NO, GO BACK 2332 003173 1006 TAD RCHAR /GET ENDING CHARACTER 2333 003174 4446 JMS I P6CH/[XP6CH] /PRINT "*", "'", OR 2334 003175 3002 PRFXIT, DCA FCHAR /CLEAR OUT BOTH 2335 003176 3006 DCA RCHAR /CHARACTERS 2336 003177 5747 JMP I XPRFLD /RETURN 2337 PAGE 2338 2339 003200 0000 P7CH, .-. /SEVEN-BIT ASCII PRINT ROUTINE 2340 003201 2102 ISZ COLCT /BUMP TO NEXT COLUMN 2341 003202 3321 DCA DEJECT /SAVE PASSED VALUE 2342 003203 4215 P7AGN, JMS CHKUP /CHECK FOR <^C>, ETC. 2343 003204 1145 TAD ECHOSW /GET ECHO SWITCH 2344 003205 7710 SPA CLA /SKIP IF ECHO ON 2345 003206 5213 JMP P7OFF /JUMP IF NOT 2346 003207 1321 TAD DEJECT /GET THE CHARACTER 2347 003210 6041 P7TSF, TSFIOT /**** LPT: **** LSFIOT 2348 /**** CONSOLE **** CIF MCS+10 2349 /**** LOGLPT: **** CIF MCS+10 2350 003211 5203 P7JMP, JMP P7AGN /**** LPT: **** JMP P7AGN 2351 /**** CONSOLE **** JMS OUTCON 2352 /**** LOGLPT: **** JMS OUTLPT 2353 003212 6046 P7TLS, TLSIOT /**** LPT: **** LLSIOT 2354 /**** CONSOLE **** JMP P7AGN 2355 /**** LOGLPT: **** JMP P7AGN 2356 003213 4215 P7OFF, JMS CHKUP /CHECK FOR <^C>, ETC. 2357 003214 5600 JMP I P7CH /RETURN 2358 2359 003215 0000 CHKUP, .-. /CHECK FOR <^P>, ETC. ROUTINE 2360 003216 4777 JMS I (CTLCTST) /CHECK FOR <^C>, ETC. 2361 003217 1016 TAD L7761/[-"O!300] /COMPARE TO <^O> 2362 003220 7450 SNA /SKIP IF DIFFERENT 2363 003221 5232 JMP DOUO /JUMP IF IT MATCHES 2364 003222 1066 TAD L7774/[-"S+"O] /COMPARE TO <^S> 2365 003223 7640 SZA CLA /SKIP IF IT MATCHES 2366 003224 5615 JMP I CHKUP /JUMP IF IT DOESN'T 2367 003225 4777 JMS I (CTLCTST) /CHECK FOR <^C>, ETC. 2368 003226 1376 TAD (-"Q!300) /COMPARE TO <^Q> 2369 003227 7640 SZA CLA /SKIP IF IT MATCHES 2370 003230 5225 JMP .-3 /JUMP IF IT DOESN'T 2371 003231 5615 JMP I CHKUP /RETURN 2372 2373 003232 1307 DOUO, TAD L136/("^&177) /GET AN "^" 2374 003233 6041 DOUO1, TSFIOT /**** CONSOLE **** CIF MCS+10 2375 003234 5233 JMP DOUO1 /**** CONSOLE **** JMS OUTCON 2376 003235 6046 TLSIOT /**** CONSOLE **** JMP DOUO1 2377 003236 1016 TAD L7761/("O-"^) /GET "O" 2378 003237 6041 DOUO2, TSFIOT /**** CONSOLE **** CIF MCS+10 2379 003240 5237 JMP DOUO2 /**** CONSOLE **** JMS OUTCON 2380 003241 6046 TLSIOT /**** CONSOLE **** JMP DOUO2 2381 003242 7330 NL4000 /SET INVERSION BIT 2382 003243 1145 TAD ECHOSW /INVERT CURRENT ECHO STATUS 2383 003244 3145 DCA ECHOSW /STORE BACK 2384 003245 5615 JMP I CHKUP /RETURN 2385 003246 0000 XPCRLF, .-. /MASTER END OF LINE ROUTINE 2386 003247 7330 NL4000 /INDICATE 2387 003250 4256 JMS XP6CH /GO DO , 2388 003251 2373 ISZ PLINCT /LINE OVERFLOW? 2389 003252 7710 SPA CLA /NO, THIS WILL SKIP 2390 003253 7240 NL7777 /SET OR 2391 003254 3371 DCA EJCTSW /CLEAR EJECTION SWITCH 2392 003255 5646 JMP I XPCRLF /RETURN 2393 2394 003256 0000 XP6CH, .-. /SIX-BIT PRINT ROUTINE 2395 003257 2371 ISZ EJCTSW /SWITCH SET? 2396 003260 5305 JMP P6OK /NO, KEEP GOING 2397 003261 4420 PUSH /YES, SAVE PASSED ARGUMENT 2398 003262 1256 TAD XP6CH /GET CALLER 2399 003263 4420 PUSH /SAVE ALSO 2400 003264 7240 SLNZP8, NL7777 /**** NOT /N **** JMP NOFRM2 **** SUB-TITLES **** NL0001 2401 003265 4344 JMS P4CRLF /GO DO 5 (OR 3) EXTRA , SEQUENCES 2402 003266 1154 LPZAP1, TAD L7772/[-6] /**** LPT: **** NL7777 2403 003267 3373 DCA PLINCT /SETUP FOR HASH MARKS 2404 003270 1372 TAD LSEP /GET MINUS (OR ) 2405 003271 4200 JMS P7CH /PRINT IT 2406 003272 2373 ISZ PLINCT /DONE ALL YET? 2407 003273 5270 JMP .-3 /NO, GO BACK 2408 003274 4344 NOPTIT, JMS P4CRLF /**** END OF ASSEMBLY **** JMP NOFRM2+1 2409 003275 4774 JMS I PRTTITLE /PRINT A TITLE LINE (IF ENABLED) 2410 003276 4354 JMS CRLF /**** OVERLAY SUB-TITLES **** JMP I NOFRM2 2411 003277 4354 NOFRM2, JMS CRLF /**** OVERLAY SUB-TITLES **** BLBAK 2412 003300 1375 TAD (-67) /RESET THE 2413 003301 3373 DCA PLINCT /LINE COUNT 2414 003302 4421 NOPTT2, POP /**** END OF ASSEMBLY **** JMP I XPCRLF 2415 003303 3256 DCA XP6CH /RESTORE SIX-BIT CALLER 2416 003304 4421 POP /RESTORE AC 2417 003305 7450 P6OK, SNA /DO WE WANT A ? 2418 003306 1055 TAD L40/[" &77] /YES, MAKE IT ASCII 2419 003307 0136 L136, AND L77/[77] /JUST SIX-BIT 2420 003310 7450 SNA / NEEDED? 2421 003311 5342 JMP P6EOL /YES 2422 003312 1063 TAD L7741/[-37] /TEST FOR 2423 003313 7450 SNA /SKIP IF OTHERWISE 2424 003314 5332 JMP P6TAB /JUMP IF REALLY 2425 003315 0136 AND L77/[77] /REMOVE GARBAGE 2426 003316 1106 TAD L37/[37] /FOLD INTO SEVEN-BIT 2427 003317 4200 JMS P7CH /PRINT IT 2428 003320 5656 JMP I XP6CH /RETURN 2429 2430 003321 0000 DEJECT, .-. /EJECT SETUP ROUTINE 2431 003322 1053 TAD LSTSW /GET LISTING STATUS 2432 003323 7650 SNA CLA /SKIP IF ON 2433 003324 5721 JMP I DEJECT /RETURN IF OFF 2434 003325 7240 NL7777 /SET THE 2435 003326 3371 DCA EJCTSW /SWITCH 2436 003327 7240 NL7777 /THIS WILL 2437 003330 3036 DCA OVFLPG /CLEAR CONTINUATION 2438 003331 5721 JMP I DEJECT /RETURN 2439 003332 1055 P6TAB, TAD L40/[" &177] /**** /T **** TAD L37/[37] 2440 003333 4200 JMS P7CH /PRINT IT 2441 003334 1102 TAD COLCT /GET COLUMN COUNT 2442 003335 1154 TAD L7772/[-6] /ADD ON OFFSET 2443 003336 0122 L117, AND L7/[7] /JUST MODULO 8 2444 003337 7640 SZA CLA /AT A STOP? 2445 003340 5332 JMP P6TAB /**** /T **** JMP P6TAB+1 2446 003341 5656 JMP I XP6CH /RETURN 2447 2448 003342 4354 P6EOL, JMS CRLF /DO A , 2449 003343 5656 JMP I XP6CH /RETURN 2450 2451 003344 0000 P4CRLF, .-. /PRINT 4 , ROUTINE 2452 003345 1066 TAD L7774/[-4] /BACK UP FOUR 2453 003346 1373 LPZAP2, TAD PLINCT /**** /T OR LPT: **** NL7777 2454 003347 3373 DCA PLINCT /STORE CORRECTED AMOUNT 2455 003350 4354 JMS CRLF /DO A (MAYBE) AND A 2456 003351 2373 ISZ PLINCT /DONE YET? 2457 003352 5350 JMP .-2 /NO, GO BACK 2458 003353 5744 JMP I P4CRLF /RETURN 2459 2460 003354 0000 CRLF, .-. /, ROUTINE 2461 003355 1102 TAD COLCT /GET CURRENT COLUMN COUNT 2462 003356 7650 SNA CLA /AT BEGINNING OF LINE? 2463 003357 5362 JMP .+3 /YES, DON'T DO A 2464 003360 1153 TAD L15/[15] /NO, GET CODE 2465 003361 4200 JMS P7CH /PRINT IT 2466 003362 1147 TAD L12/[12] /GET CODE 2467 003363 4200 JMS P7CH /PRINT IT 2468 003364 3102 DCA COLCT /CLEAR COLUMN COUNT 2469 003365 5754 JMP I CRLF /RETURN 2470 2471 / DEFAULT SUBROUTINE TO ABSORB CALLS TO DEACTIVATED ROUTINES. 2472 2473 003366 0000 XNOPRTN,.-. /DEFAULT SUBROUTINE ENTRY 2474 003367 7200 CLA /CLEAN UP 2475 003370 5766 JMP I XNOPRTN /RETURN 2476 2477 003371 7777 EJCTSW, -1 /EJECT SWITCH 2478 003372 0055 LSEP, "-&177 /**** LPT: **** 0014 2479 003373 7777 PLINCT, -1 /LINE COUNT 2480 003374 3366 PRTTITL,XNOPRTN /**** PASS 2 AND /N AND (/L OR /A OR /S) **** 2481 /XPBLURB (RELOCATED) 2482 2483 003375 7711 PAGE 003376 7757 003377 2553 2484 IFNZRO .&177 2485 003400 0000 PDLPTR, .-. /STACK POINTER 2486 2487 / "EJECT" PSEUDO-OP PROCESSOR. 2488 2489 003401 4526 XEJECT, JMS I PEJECT/[DEJECT] /SETUP AN EJECTION 2490 2491 / "TITLE" PSEUDO-OP PROCESSOR. 2492 2493 003402 1073 XTITLE, TAD CHAR /GET DELIMITER 2494 003403 7640 SZA CLA /? 2495 003404 5772 JMP I PDOTITLE /NO, GET A NEW TITLE 2496 2497 003405 3116 NOTITLE,DCA BUFSW /HIDE SOURCE LINE 2498 003406 1055 TAD L40/[" &77] /PREVENT 2499 003407 3051 DCA PRVCHR /PROBLEMS 2500 003410 1073 TAD CHAR /GET CURRENT DELIMITER 2501 003411 5336 JMP OSYSIO /DON'T GET ANOTHER 2502 2503 003412 0000 DECPRT, .-. /DECIMAL PRINTOUT ROUTINE 2504 003413 7450 SNA /NON-ZERO NUMBER REQUESTED? 2505 003414 5244 JMP DECNO /YES, PRINT "NO" INSTEAD OF 0 2506 003415 3025 DCA TMP /SAVE THE NON-ZERO NUMBER 2507 003416 1377 TAD (TENS) /RESET POINTER 2508 003417 3347 DCA DECPTR /TO POWERS OF TEN 2509 003420 3361 DECLUP, DCA DECQUO /CLEAR THE QUOTIENT 2510 003421 5224 JMP .+3 /START THE DIVIDE OPERATION NOW 2511 2512 003422 3025 DECLOP, DCA TMP /RESTORE UPDATED QUOTIENT 2513 003423 2361 ISZ DECQUO /BUMP DIGIT QUOTIENT 2514 003424 1747 TAD I DECPTR /GET NEXT POWER OF TEN 2515 003425 7450 SNA /END OF LIST? 2516 003426 5612 JMP I DECPRT /YES, WE'RE DONE 2517 003427 7100 CLL /CLEAR LINK NEEDED FOR TESTING 2518 003430 1025 LNO, TAD TMP /"N-300^45+"O-300 2519 003431 7430 SZL /SKIP IF WE DIDN'T UNDERFLOW 2520 003432 5222 JMP DECLOP /BUMP UP QUOTIENT 2521 003433 7200 CLA /ALL DONE WITH THIS ONE 2522 003434 2347 ISZ DECPTR /BUMP POINTER TO NEXT POWER OF TEN 2523 003435 1361 TAD DECQUO /GET DIGIT 2524 003436 7450 SNA /IS IT ZERO? 2525 003437 5220 JMP DECLUP /YES, DON'T PRINT IT 2526 003440 1061 TAD L60/["0&77] /MAKE INTO ASCII DIGIT 2527 003441 4446 DECZAP, JMS I P6CH/[XP6CH] /**** STATISTICS PRINT TRAP **** JMP I DECPRT 2528 003442 7330 NL4000 /FORCE SIGNIFICENCE OF REMAINING DIGITS 2529 003443 5220 JMP DECLUP /DO IT AGAIN 2530 2531 003444 1230 DECNO, TAD LNO/("N-300^45+"O-300) /GET "NO" 2532 003445 4445 JMS I P45CH/[XP45CH] /PRINT "NO" 2533 003446 5612 JMP I DECPRT /RETURN 2534 / MASTER STATEMENT DRIVER. 2535 2536 003447 4776 NEWSTM, JMS I (CHKUP) /CHECK FOR <^C>, ETC. 2537 003450 7240 NL7777 /RESET THE 2538 003451 3373 DCA STSW /STATEMENT SWITCH 2539 003452 1055 NEWSTX, TAD L40/[" &77] /**** /L AND /X AND PASS 2 **** JMP I EXZAPA 2540 003453 3073 NEWRET, DCA CHAR /RESET CHAR AT THE BEGINNING OF A STATEMENT 2541 003454 3172 DCA UNDFLG /CLEAR UNDEFINED SYMBOL FLAG 2542 003455 3075 DCA LBLSWT /CLEAR LABEL FLAG 2543 003456 3001 DCA EQUSW /CLEAR EQUALS SWITCH 2544 003457 1350 TAD PUSHPT/(XPDLADR)/RESET 2545 003460 3200 DCA PDLPTR /PUSHDOWN 2546 003461 7240 NL7777 /RESET THE 2547 003462 3015 DCA ASIGN /ARITHMETIC SIGN 2548 003463 3017 DCA MRISW /CLEAR MRI STATE 2549 003464 3124 DCA MRINDS /CLEAR MRI (I) BITS 2550 003465 4430 JMS I EXPR/[XEXPR] /TRY TO EVALUATE 2551 003466 5303 JMP NEWT1 /VACUOUS EXPRESSION (MAYBE COMMENT) 2552 003467 1076 TAD RESULT /GET GOOD VALUE 2553 003470 4444 JMS I PUTWD/[XPUTWD] /GO PUT IT OUT 2554 003471 5303 JMP NEWT1 /TEST FOR FURTHER UNNEEDED STUFF 2555 2556 003472 1073 NEWTHRW,TAD CHAR /GET THE LATEST CHARACTER 2557 003473 1375 TAD (-"/!200) /COMPARE TO "/" 2558 003474 7650 SNA CLA /SKIP IF DIFFERENT 2559 003475 5330 JMP THROCOMMENT /JUMP IF IT MATCHES 2560 003476 1073 TAD CHAR /GET THE LATEST CHARACTER 2561 003477 4424 TSPACE /IS IT A OR ? 2562 003500 5501 JMP I BDCH/[ILLCHR] /NO, GO COMPLAIN 2563 003501 4431 JMS I GCH/[XGCH] /GRAB A CHARACTER 2564 003502 7200 CLA /THROW IT AWAY 2565 003503 4422 NEWT1, TEOS /ANY EXTRANEOUS GARBAGE ON LINE 2566 003504 5272 JMP NEWTHRW /YES 2567 003505 1104 EAEZAP, TAD LOCNTR /**** NO EAE **** SKP 2568 003506 7421 MQL /PUT BACK INTO MQ 2569 003507 4440 JMS I PRTBUF/[XPRTBF] /GO PRINT LINE BUFFER 2570 003510 1053 TAD LSTSW /IS LISTING ALLOWED? 2571 003511 7650 SNA CLA /SKIP IF SO 2572 003512 5317 JMP NWSTZP /FORGET IT IF NOT 2573 003513 1073 TAD CHAR /GET DELIMITER 2574 003514 7640 SZA CLA /SKIP IF 2575 003515 5317 JMP NWSTZP /JUMP IF NOT 2576 003516 4515 JMS I BEGLINE/[XBGLIN]/MAKE SURE WE'RE AT A NEW LINE 2577 CONDIN, /CONDITIONAL FLUSHES COME HERE 2578 003517 5247 NWSTZP, JMP NEWSTM /**** DOLLAR SCANNED **** 0000 2579 003520 4440 EOF, JMS I PRTBUF/[XPRTBF] /MAKE SURE LAST LINE BUFFER IS PRINTED 2580 003521 4564 JMS I PRGLIT /DUMP ALL LITERALS 2581 003522 1121 TAD FLSHSW /GET CONDITIONAL SWITCH 2582 003523 7650 SNA CLA /SKIP IF SET 2583 003524 5341 LMZAPZ, JMP EOFZAP /**** /8 OR /9 **** JMP I LMZAPY 2584 003525 4427 JMS I ERR/[XERR] /COMPLAIN OF 2585 003526 1130 PH /PHASE ERROR 2586 003527 5523 JMP I L7600/[SBOOT] /GOODBYE! 2587 003530 4431 THROCOM,JMS I GCH/[XGCH] /GET A CHARACTER 2588 003531 7640 SZA CLA /SKIP IF EOL 2589 003532 5330 JMP THROCOMMENT /ELSE TOSS IT 2590 003533 5305 JMP EAEZAP /CONTINUE THERE 2591 2592 / DOLLAR "$" END OF ASSEMBLY HANDLER. 2593 2594 003534 3317 DOLLAR, DCA NWSTZP /PREVENT FURTHER INPUT 2595 2596 / COMMENT "/" PROCESSOR. 2597 2598 003535 4431 COMMNT, JMS I GCH/[XGCH] /GET NEXT CHARACTER 2599 003536 7640 OSYSIO, SZA CLA /? 2600 003537 5335 JMP COMMNT /NO, GET NEXT 2601 003540 5561 JMP I PEOS/[EOS] /CONTINUE THERE 2602 2603 / COMES HERE AT END OF EACH PASS. 2604 2605 003541 5742 EOFZAP, JMP I .+1/(USLP0) /**** PASS 2 **** JMS I PBEOTAP 2606 003542 4460 USLP0 /**** PASS 2 **** JMS I OSYSIO/(SYSIO) 2607 003543 0200 XSYMWK /WHERE IT GOES 2608 003544 0600 STOFUN, STOSIZE^100+.-. /UNIT IS FILLED IN 2609 003545 0043 STOBLK /BLOCK WILL BE RELOCATED 2610 003546 5743 JMP I .-3/(XSYMWK) /START IT UP 2611 2612 / PUSHDOWN ROUTINES. 2613 2614 DECPTR, /POINTER TO CURRENTLY USED POWER OF TEN 2615 003547 0000 XPUSH, .-. /PUSH ROUTINE 2616 003550 3600 PUSHPT, DCA I PDLPTR /SAVE SOMETHING ON THE STACK 2617 003551 2200 ISZ PDLPTR /BUMP TO NEXT POSITION 2618 003552 1200 TAD PDLPTR /COMPARE PUSHDOWN POINTER 2619 003553 1374 TAD (-XPDLEND) /TO LIMIT 2620 003554 7640 SZA CLA /SKIP IF EXCEEDED 2621 003555 5747 JMP I XPUSH /RETURN IF OK 2622 003556 4427 JMS I ERR/[XERR] /COMPLAIN OF PUSHDOWN OVERFLOW 2623 003557 1137 PO /POW! RIGHT IN THE KISSER! 2624 003560 5523 JMP I L7600/[SBOOT] /TAKE FATAL RETURN TO THE MONITOR 2625 2626 DECQUO, /DIGIT QUOTIENT 2627 003561 0000 XPOP, .-. /POP ROUTINE 2628 003562 7240 NL7777 /BACKUP 2629 003563 1200 TAD PDLPTR /THE 2630 003564 3200 DCA PDLPTR /POINTER 2631 003565 1600 TAD I PDLPTR /GET THE VALUE OFF OF THE STACK 2632 003566 5761 JMP I XPOP /RETURN 2633 2634 003567 7534 EXZAPA, EXNEW /**** RELOCATE **** 2635 003570 7240 LMZAPY, LMFIX /**** RELOCATE **** 2636 003571 3366 PBEOTAP,XNOPRTN /**** PASS 2 AND /B **** BEOTAPE 2637 003572 3405 PDOTITL,NOTITLE /**** /L AND /N AND PASS 2 **** DOTITLE (RELOCATED) 2638 003573 7777 STSW, -1 /STATEMENT NUMBER PRINT SWITCH 2639 003574 4104 PAGE 003575 7721 003576 3215 003577 3110 2640 PAGE 2641 2642 IFNZRO 3600-. 2643 XPDLADR=. /PUSHDOWN LIST START 2644 2645 XPDLEND=XPDLADR+74 /PUSHDOWN LIST END 2646 2647 LSTBUF= XPDLEND /START OF LISTING BUFFER 2648 2649 LSTEND= LSTBUF!177 /END OF LISTING BUFFER 2650 2651 / THIS AREA IS NORMALLY USED FOR PUSHDOWN STACK AND LISTING BUFFER. 2652 / THE FOLLOWING CODE MOVES ANY SELECTED OPTION PACKAGES TO THEIR 2653 / RESPECTIVE RELOCATED ADDRESSES. THIS MUST BE ACCOMPLISHED FROM A 2654 / LOCATION LOWER THAN "SOURCE". 2655 2656 003600 1411 ENDINIT,TAD I BXR /GET A SOURCE POINTER 2657 003601 3013 DCA SXR /STASH IT 2658 003602 7240 NL7777 /BACKUP 2659 003603 1411 TAD I BXR /GET A DESTINATION 2660 003604 3014 DCA TXR /STASH IT 2661 003605 1411 TAD I BXR /GET A COUNT 2662 003606 3025 DCA TMP /STASH IT 2663 003607 5212 JMP .+3 /CONTINUE THERE 2664 2665 003610 1413 TAD I SXR /GET A WORD 2666 003611 3414 DCA I TXR /PUT A WORD 2667 003612 2025 ISZ TMP /DONE YET? 2668 003613 5210 JMP .-3 /NO, KEEP GOING 2669 003614 2001 ISZ EQUSW /ANY MORE LISTS TO MOVE? 2670 003615 5200 JMP ENDINIT /YES, KEEP GOING 2671 2672 / THE FOLLOWING CODE ZEROES THE FIELD ZERO SYMBOL TABLE (IF ANY). IF 2673 / THERE ARE NO SYMBOLS IN FIELD ZERO, IT WILL JUST ZERO "RCDCNT" 2674 / (LOCATION 000000). THIS MUST BE ACCOMPLISHED FROM A LOCATION LOWER 2675 / THAN "SOURCE"+400. 2676 2677 003616 3407 DCA I SYMNUM /CLEAR AN ENTRY 2678 003617 1007 TAD SYMNUM /GET POINTER 2679 003620 1100 TAD L4/[4] /GET UPDATE FACTOR 2680 003621 3007 DCA SYMNUM /STORE IT BACK 2681 003622 2777 ISZ I (ELIMN8) /DONE ALL YET? 2682 003623 5216 JMP .-5 /NO, GO BACK 2683 / THE FOLLOWING CODE LOADS IN THE SYMBOL TABLE FROM THE SYMBOL TABLE 2684 / BLOCKS. IT CALLS THE STANDARD SYMBOL INSERTION ROUTINE TO OBTAIN 2685 / MAXIMUM BENEFIT FROM THE HASHING SYMBOL TABLE MANAGEMENT. THE 2686 / SYMBOL TABLE IMAGE IS READ INTO THE SAME BUFFER AS THE SOURCE FILES 2687 / WILL BE READ INTO AND THUS OPTIMIZES FOR 8K OR GREATER ASSEMBLIES 2688 / (WITH /C OFF) WITH THE LEAST NUMBER OF OPTION PACKAGES USED. 2689 2690 003624 1067 TAD MSTSIZE /GET MINUS SYMBOL TABLE SIZE 2691 003625 7041 CIA /WANT POSITIVE FORM 2692 003626 3776 DCA I (STSIZE) /SAVE FOR INSM ROUTINE 2693 003627 4775 NXTLOD, JMS I (SYSIO) /CALL I/O 2694 003630 0000 SYMBUF, .-. /THESE ARE 2695 003631 0000 SYMFUN, .-. /FILLED IN 2696 003632 0051 SYMBLK, SUDOBLK /**** NOT (/8 OR /9) **** SUDOBLK+1 (RELATIVE) 2697 003633 1774 TAD I (BLKCNT) /GET UPDATE VALUE 2698 003634 1232 TAD SYMBLK /ADD ON 2699 003635 3232 DCA SYMBLK /STORE IT BACK 2700 003636 7240 NL7777 /BACK UP 2701 003637 1230 TAD SYMBUF /GET POINTER 2702 003640 3011 DCA BXR /SETUP INDEX REGISTER 2703 003641 1411 PUTLUP, TAD I BXR /GET A WORD 2704 003642 3111 DCA NM1 /SAVE IT 2705 003643 1011 TAD BXR /GET INDEX 2706 003644 1773 TAD I (CHEND) /COMPARE TO LIMIT 2707 003645 7650 SNA CLA /SKIP IF OK 2708 003646 5227 JMP NXTLOD /ELSE READ MORE 2709 003647 1111 TAD NM1 /RECOVER SAVED WORD 2710 003650 7440 SZA /SKIP IF END OF BLOCK 2711 003651 5257 JMP .+6 /JUMP IF NOT 2712 003652 1011 SLDAGN, TAD BXR /\ 2713 003653 0123 AND L7600/[7600] / \BUMP TO 2714 003654 1047 TAD L177/[177] / /NEXT BLOCK 2715 003655 3011 DCA BXR // 2716 003656 5241 JMP PUTLUP /NOW CHECK AGAIN 2717 2718 003657 7040 CMA /TEST FOR 7777 2719 003660 7450 SNA /SKIP IF NOT 7777 2720 003661 5322 JMP INIFIN /JUMP IF SO 2721 003662 7040 CMA /RESTORE 2722 003663 0071 AND L1777/[1777] /MASK OUT FLAGS 2723 003664 3111 DCA NM1 /SAVE IT 2724 003665 7350 NL3777 /\ 2725 003666 0411 AND I BXR / \ 2726 003667 3112 DCA NM2 / >BUILD UP SYMBOL NAME 2727 003670 1411 TAD I BXR / / 2728 003671 3113 DCA NM3 // 2729 003672 7240 NL7777 /SET "DO NOT ENTER" FLAG 2730 003673 4403 JMS I INSYM/[INSM] /CALCULATE A SYMBOL NUMBER 2731 003674 7346 NL7775 /BACKUP 2732 003675 1011 TAD BXR /INDEX 2733 003676 3011 DCA BXR /REGISTER 2734 003677 1411 TAD I BXR /\ 2735 003700 3111 DCA NM1 / \ 2736 003701 1411 TAD I BXR / \ 2737 003702 3112 DCA NM2 / \MOVE SYMBOL 2738 003703 1411 TAD I BXR / /TEMPORARILY 2739 003704 3113 DCA NM3 / / 2740 003705 1411 TAD I BXR / / 2741 003706 3135 DCA SVAL // 2742 003707 4450 JMS I SETSYM/[XSETSM] /SETUP SYMBOL REGISTERS 2743 003710 1111 TAD NM1 /\ 2744 003711 3413 DCA I SXR / \ 2745 003712 1112 TAD NM2 / \ 2746 003713 3413 DCA I SXR / \PUT SYMBOL 2747 003714 1113 TAD NM3 / /IN TABLE 2748 003715 3413 DCA I SXR / / 2749 003716 1135 TAD SVAL / / 2750 003717 3413 DCA I SXR // 2751 003720 6201 CDF 00 /MAKE SURE 2752 003721 5241 JMP PUTLUP /GO BACK FOR MORE 2753 2754 003722 2332 INIFIN, ISZ SLDCNT /DONE YET? 2755 003723 5252 JMP SLDAGN /NO, GO DO ANOTHER LOAD 2756 003724 4777 REMOVB, JMS I (ELIMN8) /**** /B **** 0000 2757 003725 0307 "E-300^45+"N-300 /\ 2758 003726 0226 "D-300^45+"B-300 / >ELIMINATE "ENDBIN" 2759 003727 0533 "I-300^45+"N-300 // 2760 003730 5573 LMZAPA, JMP I XNWSTM/[NEWSTM] /**** /8 OR /9 **** JMP I LMZAPB 2761 2762 003731 7232 LMZAPB, LMLODE /**** RELOCATE **** 2763 003732 7777 SLDCNT, -1 /**** /8 OR /9 **** -2 2764 2765 / OPTION PACKAGE MOVE LISTS. 2766 2767 003733 5377 MOVLST, TITCOD-1 /TITLES START HERE 2768 003734 0000 TPT2, .-. /FILLED IN IF TITLES 2769 003735 7777 TMVCNT, -1 /**** (/A OR /S OR /L) AND /N **** 7577 2770 2771 003736 5577 LITMORE-1 /LITERALS START HERE 2772 003737 0000 QPT2, .-. /FILLED IN IF LITERALS 2773 003740 7777 QMVCNT, -1 /**** /Q OR /O **** 7157 2774 2775 003741 6577 LNCODE-1 /LINC MODE STARTS HERE 2776 003742 0000 LNCPT2, .-. /FILLED IN IF LINC MODE 2777 003743 7777 LMVCNT, -1 /**** /8 OR /9 **** 7177 2778 2779 003744 7377 EXCODE-1 /CROSS-REFERENCE STARTS HERE 2780 003745 0000 XPT2, .-. /FILLED IN IF CROSS-REFERENCE 2781 003746 7777 XMVCNT, -1 /**** /L AND /X **** 7577 2782 2783 003773 4164 PAGE 003774 4076 003775 7640 003776 2112 003777 4503 2784 / BUFFERED LINE PRINT ROUTINE. 2785 2786 004000 0000 XPRTBF, .-. /PRINT LINE BUFFER 2787 004001 2116 ISZ BUFSW /DONE ALREADY? 2788 004002 7410 SKP /YES 2789 004003 1053 TAD LSTSW /NO, LISTING ALLOWED? 2790 004004 7650 SNA CLA /SKIP IF SO 2791 004005 5235 JMP BFDONE /JUMP IF NOT 2792 004006 4560 JMS I PCHKSTN /CHECK IF STATEMENT NUMBER NEEDED HERE 2793 004007 1372 TAD PLSTBF/(LSTBUF) /SETUP THE 2794 004010 3376 DCA PRTPTR /UNPACKING POINTER 2795 004011 1772 TAD I PLSTBF/(LSTBUF) /GET FIRST PAIR 2796 004012 0367 AND L7700/(7700) /JUST FIRST 2797 004013 7650 SNA CLA /SKIP IF NOT 2798 004014 5234 JMP P6OUT /JUMP IF SO 2799 004015 4432 JMS I GETCOL/[XGETCOL]/GET TO COLUMN 2800 004016 7762 EXZAP3, -16 /**** /L AND /X **** -26 2801 004017 1776 LNPRT, TAD I PRTPTR /GET PAIR 2802 004020 4534 JMS I ROR6/[XROR6] /LEFT TO RIGHT 2803 004021 4226 JMS P6TST /PRINT IT 2804 004022 1776 TAD I PRTPTR /GET AGAIN 2805 004023 4226 JMS P6TST /PRINT RIGHT HALF 2806 004024 2376 ISZ PRTPTR /BUMP TO NEXT 2807 004025 5217 JMP LNPRT /GO PRINT IT 2808 2809 004026 0000 P6TST, .-. /PRINT 6-BIT 2810 004027 0136 AND L77/[77] /JUST 6-BIT 2811 004030 7450 SNA /? 2812 004031 5234 JMP P6OUT /YES 2813 004032 4446 JMS I P6CH/[XP6CH] /NO, NORMAL 2814 004033 5626 JMP I P6TST /RETURN 2815 2816 004034 4437 P6OUT, JMS I PCRLF/[XPCRLF] /, 2817 004035 1372 BFDONE, TAD PLSTBF/(LSTBUF) /RESET 2818 004036 3376 DCA PRTPTR /POINTER 2819 004037 5600 JMP I XPRTBF /RETURN 2820 2821 / CHARACTER INPUT ROUTINE. 2822 2823 004040 0000 XGCH, .-. /GET NEXT CHARACTER 2824 004041 5642 JMP I GIVCH /GO GET IT 2825 2826 004042 4057 GIVCH, NXTFIL+1 /**** START OF PASS 2 **** NXTFIL+1 2827 004043 0136 AND L77/[77] /SIXBIT ONLY 2828 004044 3073 DCA CHAR /SAVE IN CHARACTER 2829 004045 1073 TAD CHAR /GET IT BACK 2830 004046 7440 SZA /? 2831 004047 5640 JMP I XGCH /NO, RETURN TO CALLER 2832 004050 1373 TAD PRESET /YES, FORCE 2833 004051 3242 DCA GIVCH /NEW LINE 2834 004052 5640 JMP I XGCH /RETURN 2835 004053 1542 CHKBUF, TAD I CHPTR /GET A PAIR 2836 004054 7440 SZA /END OF FILE? 2837 004055 5305 GIVNXT, JMP UNBUFF /**** PASS 2 AND /L AND PRINT 2838 /BUFFER UNPACK **** JMP NXTWRD 2839 004056 2365 NXTFIL, ISZ FLPNTR /NEXT FILE 2840 004057 1765 TAD I FLPNTR /GET FILE ARGUMENT 2841 004060 0065 AND L7770/[7770] /JUST BLOCK BITS 2842 004061 7450 SNA /? 2843 004062 5771 JMP I PEOF/(EOF) /YES 2844 004063 3274 DCA CHBLK /NO, SAVE BLOCK NUMBER 2845 004064 3077 SLKZP0, DCA TITPTR /**** NOT /K **** 0000 2846 004065 1765 SHOT7, TAD I FLPNTR /**** PASS 2 AND 1 BUFFER **** JMP GOFAST 2847 004066 0122 AND L7/[7] /GET UNIT BITS 2848 004067 1370 TAD PAGCNT /ADD ON PAGE COUNT 2849 004070 3273 DCA CHFUN /SAVE IT 2850 004071 4714 GETBUF, JMS I GSYSIO/(SYSIO) /CALL I/O 2851 004072 4600 CHBUF, SOURCE /**** OPTIONS **** UPDATED BY PAGES 2852 004073 1400 CHFUN, SBOOT-SOURCE-400+400%2 /UNIT FILLED IN; PAGE COUNT DETERMINED BY OPTIONS 2853 004074 0040 CHBLK, 40 /BLOCK ARGUMENT 2854 004075 2326 ISZ NUMBFS /BUMP COUNT 2855 004076 0002 BLKCNT, 2 /**** 8K **** 14-OPTIONS 2856 004077 1272 GOFAST, TAD CHBUF /RESET 2857 004100 3142 DCA CHPTR /POINTER 2858 004101 1077 TAD TITPTR /GET A TITLE? 2859 004102 7610 TITZAP, SKP CLA /**** PASS 2 AND /L AND /N **** SNA CLA 2860 004103 5766 JMP I GETTITLE /JUMP IF SO 2861 004104 5253 TITRET, JMP CHKBUF /CHECK BUFFER AGAIN 2862 2863 004105 4534 UNBUFF, JMS I ROR6/[XROR6] /GET LEFT HALF 2864 004106 4242 JMS GIVCH /OUTPUT IT 2865 004107 1542 TAD I CHPTR /GET RIGHT HALF 2866 004110 4242 JMS GIVCH /OUTPUT IT 2867 004111 2142 CHKEND, ISZ CHPTR /BUMP TO NEXT 2868 004112 1142 TAD CHPTR /GET POINTER 2869 004113 1364 TAD CHEND /COMPARE TO LIMIT 2870 004114 7640 GSYSIO, SZA CLA /SKIP IF DONE 2871 004115 5253 JMP CHKBUF /JUMP IF NOT 2872 004116 1274 TAD CHBLK /\ 2873 004117 1276 TAD BLKCNT / >UPDATE BLOCK NUMBER 2874 004120 3274 DCA CHBLK // 2875 004121 5271 JMP GETBUF /GET NEXT 2876 2877 004122 1064 CHKEN3, TAD L7756/[UNBUFF-NXTWRD] /DON'T OR 2878 2879 004123 1374 CHKEN2, TAD PREST2/(JMP NXTWRD) /DO USE 2880 004124 3255 DCA GIVNXT /BUFFERED 2881 004125 5311 JMP CHKEND /KEEP GOING 2882 2883 004126 7777 NUMBFS, -1 /NUMBER OF BUFFERS READ 2884 004127 3776 NXTWRD, DCA I PRTPTR /STORE PAIR 2885 004130 1776 TAD I PRTPTR /GET BACK 2886 004131 0367 AND L7700/(7700) /JUST HIGH-ORDER HALF 2887 004132 7650 SNA CLA /? 2888 004133 5346 JMP BUFWRK /YES, WE'RE FILLED 2889 004134 1776 TAD I PRTPTR /GET PAIR AGAIN 2890 004135 0136 AND L77/[77] /JUST LOW-ORDER HALF 2891 004136 7650 SNA CLA /? 2892 004137 5346 JMP BUFWRK /YES, WE'RE FILLED 2893 004140 1376 TAD PRTPTR /GET POINTER 2894 004141 2376 ISZ PRTPTR /BUMP TO NEXT 2895 004142 1375 TAD PRTLIM /COMPARE TO LIMIT 2896 004143 7710 SPA CLA /SKIP IF NO ROOM 2897 004144 5311 JMP CHKEND /KEEP GOING 2898 004145 3776 DCA I PRTPTR /DELIMIT BUFFER 2899 004146 7240 BUFWRK, NL7777 /INDICATE 2900 004147 3116 DCA BUFSW /NEW BUFFER 2901 004150 1372 TAD PLSTBF/(LSTBUF) /SETUP TO 2902 004151 3363 DCA BUFPTR /UNPACK 2903 004152 1763 BUFLUP, TAD I BUFPTR /GET A PAIR 2904 004153 7450 SNA /END? 2905 004154 5322 JMP CHKEN3 /YES, GOTO UNBUFFERED 2906 004155 4534 JMS I ROR6/[XROR6] /GET HIGH-ORDER 2907 004156 4242 JMS GIVCH /OUTPUT IT 2908 004157 1763 TAD I BUFPTR /GET PAIR AGAIN 2909 004160 4242 JMS GIVCH /OUTPUT LOW-ORDER 2910 004161 2363 ISZ BUFPTR /BUMP TO NEXT 2911 004162 5352 JMP BUFLUP /PROCESS NEXT WORD 2912 2913 004163 3674 BUFPTR, LSTBUF /UNPACKING POINTER 2914 004164 2600 CHEND, -SOURCE-400 /**** 4K **** DECREASED BY OPTIONS 2915 /**** 8K **** CONSTANT -7600 2916 004165 7757 FLPNTR, SFILES /**** UPDATED AS NECESSARY 2917 004166 4647 GETTITL,XGBLURB /GET A TITLE POINTER 2918 004167 7700 L7700, 7700 /CONSTANT 7700 2919 004170 0200 PAGCNT, 2^100 /**** 8K **** 14-OPTIONS^100 2920 004171 3520 PEOF, EOF /POINTER TO ROUTINE 2921 004172 3674 PLSTBF, LSTBUF /BUFFER HEAD 2922 004173 4111 PRESET, CHKEND /**** PASS 2 AND /L **** CHKEN2 2923 004174 5327 PREST2, JMP NXTWRD /BUFFERED RESET VALUE 2924 004175 4002 PRTLIM, -LSTEND+1 /PRINT BUFFER LIMIT 2925 004176 3674 PRTPTR, LSTBUF /PRINT POINTER 2926 2927 IFNZRO NXTWRD-UNBUFF-22 2928 / SO WE CAN USE L7756 AS AN OFFSET 2929 PAGE 2930 2931 / BINARY OUTPUT AREA, CONTAINS PASS 1 ONLY CODE. 2932 2933 BINARY,/ZBLOCK 3 /LISTAPE BUFFER 2934 2935 004200 7775 REPLACE,-3/.-. /REPLACE ROUTINE; INITIALIZED FOR OPTION SWITCH XOR 2936 004201 3013 DCA SXR /SAVE PASSED POINTER 2937 004202 1413 TAD I SXR /GET A VALUE 2938 004203 7450 SNA /END OF LIST? 2939 004204 5600 JMP I REPLACE /YES, RETURN 2940 004205 3025 DCA TMP /NO, SAVE AS ADDRESS 2941 004206 1413 TAD I SXR /GET REPLACEMENT VALUE 2942 004207 3425 DCA I TMP /ZAP IT IN 2943 004210 5202 JMP REPLACE+2 /GO DO ANOTHER 2944 2945 004211 7201 XPUNG2, NL0001 /SETUP INITIAL SYMBOL POINTER 2946 004212 4503 JMS I GETSYM/[GETSM] /GET A SYMBOL 2947 004213 5441 JMP I PSDRET/[XPSDRET]/RETURN IF NO MORE 2948 004214 7332 NL2000 /SEE IF 2949 004215 1125 TAD NMFLGS /IT'S A 2950 004216 0010 AND L6000/[6000] /PSEUDO-OP 2951 004217 7650 SNA CLA /SKIP IF NOT 2952 004220 5212 JMP XPUNG2+1 /JUMP IF SO 2953 004221 7346 NL7775 /BACKUP SYMBOL 2954 004222 1013 TAD SXR /TABLE POINTER 2955 004223 3025 DCA TMP /SAVE IT 2956 004224 4452 JMS I SETFLD/[XSTFLD] /SETUP FIELD 2957 004225 3425 DCA I TMP /WIPE OUT SYMBOL 2958 004226 6201 CDF 00 /MAKE SURE 2959 004227 5212 JMP XPUNG2+1 /BACK FOR MORE 2960 2961 004230 7201 XFXT2, NL0001 /GET INITIAL VALUE 2962 004231 4503 JMS I GETSYM/[GETSM] /GET A SYMBOL 2963 004232 5441 JMP I PSDRET/[XPSDRET]/NO MORE SYMBOLS, RETURN 2964 004233 7344 NL7776 /BACKUP SYMBOL 2965 004234 1013 TAD SXR /TABLE POINTER 2966 004235 3025 DCA TMP /SAVE IT 2967 004236 4452 JMS I SETFLD/[XSTFLD] /SETUP FIELD 2968 004237 1425 TAD I TMP /GET SECOND SYMBOL WORD 2969 004240 7004 RAL /SHIFT PFLAG INTO LINK 2970 004241 7130 STL RAR /SET PFLAG 2971 004242 3425 DCA I TMP /STORE IT BACK 2972 004243 6201 CDF 00 /MAKE SURE IN CASE LAST 2973 004244 5231 JMP XFXT2+1 /GO DO NEXT 2974 004245 3145 USXIT, DCA ECHOSW /FORCE ECHO ON 2975 004246 1117 TAD ERRTOT /\ 2976 004247 7640 SZA CLA / >CLEAN UP IF ERRORS 2977 004250 4437 JMS I PCRLF/[XPCRLF] // 2978 004251 1337 TAD PS2RPL/(PS2RPL+1-1) /DO PASS 2 2979 004252 4200 JMS REPLACE /ZAPS NOW 2980 004253 1325 TAD LSTRPL /ZAP IN 2981 004254 4200 JMS REPLACE /LISTING ZAPS 2982 004255 5734 PAS2ZAP,JMP I PS1STB/(STOFUN-2) /**** /B OR /K OR /L **** 0000 2983 004256 2110 ISZ PUNWD /ALLOW PUNCHING 2984 004257 2107 ISZ PUNSW /FOR LISTING AND BINARY 2985 004260 1323 NOBNZP, TAD BINALOW/(BEOTAPE+1) /**** NOT /B **** 0000 2986 004261 3730 DCA I PNOPUN/(NOPUN) /ALLOW BINARY 2987 004262 5267 SLLZP2, JMP SPASS2 /**** /L **** 0000 2988 004263 2105 ISZ LSTWD /FORCE LISTING PHASE 2989 004264 2053 ISZ LSTSW /INITIALLY TURN LISTING ON 2990 004265 1335 TAD SLLRPL/(RPLSLL-1) /GO DO 2991 004266 4200 JMS REPLACE /LISTING PASS REPLACEMENTS 2992 004267 1731 SPASS2, TAD I PNUMBFS/(NUMBFS) /GET NUMBER OF BUFFERS READ 2993 004270 7640 SZA CLA /SKIP IF EXACTLY ONE (UNO) 2994 004271 5274 JMP .+3 /READ IN NEW BUFFER NEXT TIME 2995 004272 1324 TAD LGOFAS/(GOFAST&177+JMPC)/MAKE IT 2996 004273 3733 DCA I PSHOT7/(SHOT7) /RE-READ BUFFER 2997 004274 1727 TAD I PINTFPT/(INTFPT) /RESET 2998 004275 3722 DCA I AFLPNTR/(FLPNTR) /INPUT POINTER 2999 004276 1337 TAD PS2RPL/(PS2RPL+1-1) /DO PASS 2 3000 004277 4200 JMS REPLACE /ZAPS AGAIN IN CASE /B 3001 004300 4726 JMS I PELMN8/(ELIMN8) /ELIMINATE 3002 004301 0321 "E-300^45+"X-300 /\ 3003 004302 1145 "P-300^45+"U-300 / >"EXPUNGE" 3004 004303 1015 "N-300^45+"G-300 // 3005 004304 4726 JMS I PELMN8/(ELIMN8) /ELIMINATE 3006 004305 0347 "F-300^45+"I-300 /\ 3007 004306 1614 "X-300^45+"T-300 / >"FIXTAB" 3008 004307 0047 "A-300^45+"B-300 // 3009 004310 3133 DCA RLOC8 /CLEAR RELOCATION 3010 004311 3143 DCA CURFLD /FIELD ZERO 3011 004312 3144 DCA DUMPSW /CLEAR DUMP LITERALS SWITCH 3012 004313 3102 DCA COLCT /CLEAR COLUMN COUNTER 3013 004314 3117 DCA ERRTOT /CLEAR ERROR COUNTER 3014 004315 1336 TAD SLXRPL/(RPLSLX-1) /ATTEMPT TO 3015 004316 4200 JMS REPLACE /DO /X ZAPS 3016 004317 4721 JMS I ABGTFL /OPEN BINARY OUTPUT FILE 3017 004320 5732 JMP I PNWST1 /GO START PASS 2 3018 004321 3366 ABGTFL, XNOPRTN /POINTER TO BINARY OPEN ROUTINE (IF ACTIVE) 3019 004322 4165 AFLPNTR,FLPNTR /POINTER TO INPUT FILE POINTER 3020 004323 2442 BINALOW,BEOTAPE+1 /FIRST ENTRY FOR /B PASS 2 3021 004324 5277 LGOFAST,GOFAST&177+JMPC /"JMP GOFAST" 3022 004325 4410 LSTRPL, OZAP4-1 /**** NOT /L **** OZAP4-1+2 3023 004326 4503 PELMN8, ELIMN8 /POINTER TO SYMBOL ELIMINATION ROUTINE 3024 004327 2767 PINTFPT,INTFPT /POINTER TO INPUT FILE POINTER RESET 3025 004330 4376 PNOPUN, NOPUN /WHERE TO INHIBIT BINARY 3026 004331 4126 PNUMBFS,NUMBFS /WHERE BUFFER COUNT IS 3027 004332 3447 PNWST1, NEWSTM /**** /8 OR /9 **** LMLODE (RELOCATED) 3028 004333 4065 PSHOT7, SHOT7 /WHERE TO ZAP INPUT ROUTINES TO RE-READ BUFFER 3029 004334 3542 PS1STB, STOFUN-2 /POINTER TO SYMBOL TABLE PRINT ROUTINE 3030 004335 4421 SLLRPL, RPLSLL-1 /LISTING PASS REPLACEMENT LIST POINTER 3031 004336 4430 SLXRPL, RPLSLX-1 /CROSS-REFERENCE REPLACEMENT LIST POINTER 3032 / PASS TWO REPLACEMENT LIST. 3033 3034 004337 4337 PS2RPL, .+1-1 /POINTER TO PASS 2 REPLACEMENT LIST 3035 004340 1314 PS2ZAP; TAD LOCNTR /ALLOW "IR"S IN PASS 2 004341 1104 3036 004342 4042 GIVCH; NXTFIL+1 /RESTART INPUT 004343 4057 3037 004344 3042 XPUTWD+4;NOLS1&177+JMPC /"JMP NOLS1" IN SECOND PASS 004345 5275 3038 004346 0750 EQ2ZAP; NL7777 /KEEP PFLAG DURING PASS 2 IN CASE FIXTAB'ED PASS 1 004347 7240 3039 004350 0104 LOCNTR /RESET LOCATION COUNTER 3040 004351 0200 LNCORG, 0200 /**** /9 **** 4020 3041 004352 0137 BLOCNTR /RESET RELOCATION FACTOR 3042 004353 0200 LNORG2, 0200 /**** /9 **** 4020 3043 004354 0246 RADSW1; NOP /OCTAL RADIX 004355 7000 3044 004356 0234 RADSW2; 7711 /OCTAL RADIX 004357 7711 3045 004360 0007 SLQZP1, SYMNUM; 200 /**** /Q **** OLDLOC (RELOCATED) 004361 0200 3046 004362 0155 OFPCNT; 0 /ONLY NEEDED IF /O 004363 0000 3047 004364 3517 NWSTZP; NEWSTM&177+JMPC /"JMP NEWSTM" 004365 5247 3048 004366 3541 EOFZAP; PBEOTA&177+JMSIC /MAKE SECOND PASS 004367 4771 3049 004370 3542 EOFZAP+1;OSYSIO&177+JMSIC /END OF FILE ZAPS 004371 4736 3050 004372 1363 USMFIX; JMS I ERR/[XERR] /PRINT "US" MESSAGES DURING PASS 2 004373 4427 3051 004374 0733 EQUFIX; SZA CLA /"IE" ERRORS ON BAD EQUATES DURING PASS 2 004375 7640 3052 3053 / LIST ENDS HERE IF NOT /B AT PASS 1 END. 3054 3055 004376 0000 NOPUN, 0; WRDCNT&177+TADC /ALLOW BINARY FILES 004377 1341 3056 004400 2502 BGETFL+1;BUFFAD&177+TADC /ALLOW OPENING OF BINARY FILES 004401 1270 3057 004402 4321 ABGTFL; BGETFL /ALLOW BINARY OPEN 004403 2501 3058 004404 3145 PUNCH; BINOUT /REAL BINARY OUTPUT ROUTINE 004405 2400 3059 004406 3571 PBEOTAP;BEOTAP /REAL BINARY CLOSE ROUTINE 004407 2441 3060 004410 0000 0 /END OF REPLACEMENT LIST 3061 004411 4412 OZAP4, OZAP4+1 /**** /O **** OZAPL2 (RELOCATED) 3062 004412 3006 DCA RCHAR /ALLOW FIXUP QUOTE TO PRINT 3063 004413 3374 SLNZP2, PRTTITLE /**** NOT /N OR NOT (/A OR /S OR /L) **** 0000 3064 004414 4600 PPBLB1, XPBLURB /**** /N AND (/L OR /A OR /S) **** XPBLURB (RELOCATED) 3065 004415 4102 SLLZP9, TITZAP; SNA CLA /**** NOT /L **** 0000 004416 7650 3066 004417 3572 PDOTITL /DO TITLES HERE 3067 004420 4650 SLLZAP, DOTITLE /THROUGH HERE 3068 004421 0000 0 /THIS DEFINITELY ENDS THE LIST 3069 3070 004422 2705 RPLSLL, ERRZAP; ERRXIT&177+JMPC /NO "AT" MESSAGES ON LISTING 004423 5341 3071 004424 4055 GIVNXT; NXTWRD&177+JMPC /USE BUFFERED ROUTINES FOR LISTING 004425 5327 3072 004426 4173 PRESET; CHKEN2 /NEW LINES ARE INITIALLY BUFFERED 004427 4123 3073 004430 0000 0 /THIS ENDS THE LIST 3074 3075 004431 0000 RPLSLX, 0 /**** /L AND /X **** NEWSTX 3076 004432 5767 EXZAPA&177+JMPIC /BUMP STATEMENT NUMBER AT BEGINNING OF EACH STATEMENT 3077 004433 0671 PNFCPTR /INTERCEPT PUNFLD ROUTINE 3078 004434 7505 EXRL3, CRFFLD /**** RELOCATE **** 3079 004435 2666 ATCOD+1 /MAKE ERROR ROUTINE 3080 004436 5667 CRERRP&177+JMPIC /INTERCEPT HERE 3081 004437 2667 CRERRP /SETUP ERROR INTERCEPT ADDRESS 3082 004440 7522 EXRL2, CRFERR /**** RELOCATE **** 3083 004441 2057 INXIT /MAKE INSM EXIT 3084 004442 5660 CRZAPA&177+JMPIC /TO CROSS-REFERENCE SYMBOL REFERENCE ROUTINE 3085 004443 2060 CRZAPA /SETUP CREFSYM POINTER 3086 004444 7400 EXRL7, CREFSYM /**** RELOCATE **** 3087 004445 0761 L6201+1 /MAKE EQUATE ROUTINE TRAP TO 3088 004446 5762 L6201+2&177+JMPIC /EQUATE CROSS-REFERENCE INTERCEPT 3089 004447 0762 L6201+2 /ZAP IN EQUATE INTERCEPT ADDRESS 3090 004450 7435 EXRL4, CRFEQU /**** RELOCATE **** 3091 004451 0160 PCHKSTN /ALLOW CHECK FOR STATEMENT NUMBERS IN PASS 2 3092 004452 1637 CHKSTN /THROUGH HERE 3093 004453 0000 CLENABL,0 /**** /Q OR /O **** GOTZAP+2 (RELOCATED) 3094 004454 5672 CRZAPD&177+JMPIC /"JMP I CRZAPD" 3095 004455 5672 SLQRLM, CRZAPD /**** RELOCATE **** 3096 004456 6400 SLQRLN, CRFLIT /**** RELOCATE **** 3097 004457 0000 0 /THIS ENDS THE LIST 3098 004460 3145 USLP0, DCA ECHOSW /FORCE ECHO ON 3099 004461 3725 DCA I PSM1/(SM1) /DESTROY SAVED SYMBOL 3100 004462 3726 DCA I PSM4/(SM4) /AND ITS VALUE 3101 004463 7201 NL0001 /INITIALIZE SYMBOL TABLE 3102 004464 4503 USLP, JMS I GETSYM/[GETSM] /GET A SYMBOL 3103 004465 5727 JMP I PUSXIT/(USXIT) /NO MORE 3104 004466 1125 TAD NMFLGS /GET FLAGS 3105 004467 7640 SZA CLA /SKIP IF UNDEFINED 3106 004470 5264 JMP USLP /GO BACK FOR ANOTHER 3107 004471 1135 TAD SVAL /GET VALUE OF SYMBOL 3108 004472 3104 DCA LOCNTR /PRINT WHERE IT'S AT 3109 004473 4427 JMS I ERR/[XERR] /COMPLAIN OF 3110 004474 3434 US /UNDEFINED SYMBOL 3111 004475 1013 TAD SXR /GET POINTER 3112 004476 3303 DCA ELIMN8 /SET IT UP 3113 004477 4452 JMS I SETFLD/[XSTFLD] /SETUP FIELD 3114 004500 3703 DCA I ELIMN8 /SET TO ZERO 3115 004501 6201 CDF 00 /BACK TO FIELD 0 3116 004502 5264 JMP USLP /KEEP GOING 3117 3118 004503 7777 ELIMN8, -1 /SYMBOL ELIMINATION ROUTINE; PRELOADED FOR 3119 /FIELD 0 SYMBOL CLEARING ROUTINE 3120 004504 1703 TAD I ELIMN8 /GET FIRST WORD 3121 004505 3111 DCA NM1 /SAVE IT 3122 004506 2303 ISZ ELIMN8 /BUMP POINTER 3123 004507 1703 TAD I ELIMN8 /GET SECOND WORD 3124 004510 3112 DCA NM2 /SAVE IT 3125 004511 2303 ISZ ELIMN8 /BUMP POINTER 3126 004512 1703 TAD I ELIMN8 /GET THIRD WORD 3127 004513 3113 DCA NM3 /SAVE IT 3128 004514 2303 ISZ ELIMN8 /BUMP POINTER 3129 004515 4403 JMS I INSYM/[INSM] /FIND THE SYMBOL 3130 004516 1013 TAD SXR /GET POINTER 3131 004517 3025 DCA TMP /SAVE IT 3132 004520 4452 JMS I SETFLD/[XSTFLD] /SETUP FIELD 3133 004521 1041 TAD PSDRET/[XPSDRET]/GET THROW AWAY ADDRESS 3134 004522 3425 DCA I TMP /STORE DO NOTHING ADDRESS 3135 004523 6201 CDF 00 /BACK TO FIELD 0 3136 004524 5703 JMP I ELIMN8 /NOW RETURN 3137 3138 004525 2770 PSM1, SM1 /=> SM1 3139 004526 2773 PSM4, SM4 /=> SM4 3140 004527 4245 PUSXIT, USXIT /WHERE NEXT ROUTINE AFTER US STUFF IS 3141 PAGE 3142 3143 SOURCE= . /WHERE INPUT BUFFER STARTS 3144 3145 / FURTHER ASSEMBLY INITIALIZATION. 3146 3147 004600 1512 TSTNOT, TAD I NM2/[SWMX] /CHECK FOR /T 3148 004601 0377 AND (20) /AND JUST /T 3149 004602 7640 SLNZP9, SZA CLA /**** NOT /N **** CLA!400 3150 004603 5250 JMP TSTNXT /JUMP IF /T IS SET 3151 004604 7240 LPTEMP, NL7777 /SETUP AN EXTENDED 3152 004605 6666 OUTINIT,LLSIOT /**** CONSOLE **** JMS LPWAIT 3153 004606 7200 CLA /CLEAN UP 3154 004607 1055 TAD L40/[" &177] /GET A 3155 004610 4232 LPJMS, JMS LPWAIT /ATTEMPT TO PRINT IT 3156 004611 1055 TAD L40/[" &177] /GET ANOTHER 3157 004612 4232 JMS LPWAIT /ATTEMPT TO PRINT IT 3158 004613 1153 TAD L15/[15] /GET A 3159 004614 4232 JMS LPWAIT /ATTEMPT TO PRINT IT 3160 004615 3246 DCA LPTMZAP /PREVENT FURTHER TIMING OUT 3161 004616 1055 TAD L40/[" &177] /GET ANOTHER 3162 004617 4232 JMS LPWAIT /PRINT IT 3163 004620 1153 TAD L15/[15] /GET ANOTHER 3164 004621 4232 JMS LPWAIT /PRINT IT 3165 004622 1147 TAD L12/[12] /GET A 3166 004623 4232 JMS LPWAIT /PRINT IT 3167 004624 1340 TAD LP14/(14) /GET A 3168 004625 4232 JMS LPWAIT /PRINT IT 3169 004626 1376 TAD (LPTLST-1) /GET LPT: REPLACEMENT LIST POINTER 3170 004627 4775 JMS I (REPLACE) /GO DO LPT: ZAPS 3171 004630 5250 JMP TSTNXT /CONTINUE THERE 3172 3173 004631 7700 LPTMOUT,-100 /LPT: TIME-OUT COUNTER 3174 3175 004632 0000 LPWAIT, .-. /LPT: WAIT AND TIME-OUT ROUTINE 3176 004633 3204 DCA LPTEMP /SAVE PASSED VALUE 3177 004634 1204 LPAGN, TAD LPTEMP /GET IT BACK 3178 004635 6661 LPCHK, LSFIOT /**** CONSOLE **** CIF MCS+1 3179 004636 5243 LPJMP, JMP LPTIME /**** CONSOLE **** JMS OUTLPT 3180 004637 6666 LPRNT, LLSIOT /**** CONSOLE **** JMP LPTIME 3181 004640 1374 TAD (7700) /RESET THE TIME-OUT 3182 004641 3231 DCA LPTMOUT /FOR NEXT TIME 3183 004642 5632 JMP I LPWAIT /RETURN 3184 3185 004643 2775 LPTIME, ISZ I (REPLACE) /WASTE 3186 004644 5243 JMP LPTIME /SOME TIME 3187 004645 7200 CLA /CLEAN UP 3188 004646 2231 LPTMZAP,ISZ LPTMOUT /**** ZAPPED **** 0000 3189 004647 5234 JMP LPAGN /TRY AGAIN 3190 004650 1373 TSTNXT, TAD (SLLLST-1) /GET TITLE REPLACEMENT LIST POINTER 3191 004651 4775 JMS I (REPLACE) /(POSSIBLY) DO TITLE ZAPS 3192 004652 1372 TAD (SLQLST-1) /GET LITERAL REPLACEMENT LIST POINTER 3193 004653 4775 JMS I (REPLACE) /(POSSIBLY) DO LITERAL ZAPS 3194 004654 1371 TAD (LNCLST-1) /GET LINC MODE REPLACEMENT LIST POINTER 3195 004655 4775 JMS I (REPLACE) /(POSSIBLY) DO LINC MODE ZAPS 3196 004656 1370 TAD (EXLST-1) /GET CROSS-REFERENCE REPLACEMENT LIST POINTER 3197 004657 4775 JMS I (REPLACE) /(POSSIBLY) DO CROSS-REFERENCE ZAPS 3198 004660 1767 TAD I (CHBUF) /\ 3199 004661 3766 DCA I (SYMBUF) / \ 3200 004662 1765 TAD I (PAGCNT) / >FIXUP SYMBOL TABLE LOADER 3201 004663 1764 TAD I (SYMFUN) / / 3202 004664 3764 DCA I (SYMFUN) // 3203 004665 5763 JMP I (ENDIN1) /NOW FINISH UP 3204 3205 004666 0000 CONTEST,.-. /CONSOLE OVERLAY TEST ROUTINE 3206 004667 1523 TAD I L7600/[SBOOT] /GET BOOTSTRAP INSTRUCTION 3207 004670 1362 TAD (-JMSSYSIO) /COMPARE TO POSSIBLE VALUE 3208 004671 7650 SNA CLA /SKIP IF DIFFERENT 3209 004672 5276 JMP CHKCOVRLAY /JUMP IF IT MATCHES 3210 004673 2761 ISZ I (CHKKRS) /TURN "KRSIOT" 3211 004674 2761 ISZ I (CHKKRS) /INTO "KRBIOT" 3212 004675 3760 DCA I (CHKKCC) /DESTROY "KCCIOT" 3213 004676 7326 CHKCOVR,NL0002 /SET "C" BIT MASK 3214 004677 0757 AND I (SCRSIZE) /GET THE "C" BIT 3215 004700 7650 SNA CLA /SKIP IF SET 3216 004701 5666 JMP I CONTEST /ELSE RETURN 3217 004702 3760 DCA I (CHKKCC) /DESTROY "KCCIOT" 3218 004703 1757 TAD I (SCRSIZE) /GET THE CORE-SIZE WORD 3219 004704 7012 RTR;RAR /MOVE OVER THE MCS BITS 004705 7010 3220 004706 0356 AND (70) /ISOLATE THEM 3221 004707 1755 TAD I (CNZAP1)/(CIF 10) /TURN INTO "CIF MCS+10" 3222 004710 3755 DCA I (CNZAP1) /STORE IN REPLACEMENT LIST 3223 004711 1755 TAD I (CNZAP1) /GET IT BACK 3224 004712 3754 DCA I (CNZAP2) /STORE IN REPLACEMENT LIST 3225 004713 1754 TAD I (CNZAP2) /GET IT BACK 3226 004714 3753 DCA I (CNZAP3) /STORE IN REPLACEMENT LIST 3227 004715 1753 TAD I (CNZAP3) /GET IT BACK 3228 004716 3752 DCA I (CNZAP4) /STORE IN REPLACEMENT LIST 3229 004717 1752 TAD I (CNZAP4) /GET IT BACK 3230 004720 3235 DCA LPCHK /STORE IT IN LPT: TIME-OUT ROUTINE 3231 004721 1236 TAD LPJMP /GET THE "JMP LPTIME" 3232 004722 3237 DCA LPRNT /STORE OVER THE "LLSIOT" 3233 004723 1351 TAD (JMS OUTLPT) /GET PRINTER CALL 3234 004724 3236 DCA LPJMP /STORE OVER THE "JMP LPTIME" 3235 004725 1210 TAD LPJMS /GET THE LPWAIT CALL 3236 004726 3205 DCA OUTINIT /STORE IN INITIALIZE LOCATION 3237 004727 3343 DCA LLZAP2 /PREVENT PHYSICAL LPT: REPLACEMENTS 3238 004730 1350 TAD (CNLIST-1) /GET CONSOLE REPLACEMENT LIST POINTER 3239 004731 4775 JMS I (REPLACE) /MAKE CONSOLE ZAPS 3240 004732 5666 JMP I CONTEST /RETURN TO /M TEST ROUTINE 3241 / LPT: REPLACEMENT LIST. 3242 3243 004733 3346 LPTLST, LPZAP2; NL7777 /USE ONE SEPARATOR 004734 7240 3244 004735 3266 LPZAP1; NL7777 /USE ONE SEPARATOR 004736 7240 3245 004737 3372 LSEP; LP14, 14 /OUTPUT BETWEEN PAGES 004740 0014 3246 004741 3211 P7JMP /CHANGE "JMP P7AGN" 3247 004742 5203 LLZAP1, P7AGN&177+JMPC /**** CONSOLE **** JMS OUTLPT 3248 004743 3210 LLZAP2, P7TSF; LSFIOT /**** CONSOLE **** 0000 004744 6661 3249 004745 3212 P7TLS; LLSIOT /CHANGE "TLSIOT" INTO "LLSIOT" 004746 6666 3250 004747 0000 0 /THIS ENDS THE LIST 3251 3252 004750 5044 PAGE 004751 4035 004752 5070 004753 5062 004754 5054 004755 5046 004756 0070 004757 7611 004760 2571 004761 2560 004762 3540 004763 5100 004764 3631 004765 4170 004766 3630 004767 4072 004770 4777 004771 6523 004772 5010 004773 5037 004774 7700 004775 4200 004776 4732 004777 0020 3253 / CROSS-REFERENCE REPLACEMENT LIST. 3254 3255 005000 0000 EXLST, 0 /**** /L AND /X **** RPLSLX 3256 005001 3452 NEWSTX /ENABLE STATEMENT NUMBER INCREMENT DURING PASS TWO 3257 005002 2354 EXZAP2 /ENABLE THE CORRECT 3258 005003 7761 -17 /COLUMN FOR PTNREG 3259 005004 4016 EXZAP3 /ENABLE THE CORRECT 3260 005005 7752 -26 /COLUMN FOR PRTBUF 3261 005006 3746 XMVCNT /MOVE DOWN 3262 005007 7577 -200-1 /ONE PAGE 3263 005010 0000 0 /THIS ENDS THE LIST 3264 3265 / LITERALS AND LINKS REPLACEMENT LIST. 3266 3267 / /Q OR /O LIST. 3268 3269 005011 0000 SLQLST, 0 /**** /Q OR /O **** PDUMPL 3270 005012 6211 SLQRL0, DUMPC /**** RELOCATE **** 3271 005013 0043 PUTORG /ZAP PUTORG POINTER TO LIT1 3272 005014 5741 SLQRL1, LIT1 /**** RELOCATE **** 3273 005015 3040 PUTZAP /ZAP PUTWD ROUTINE TO COME TO LIT2 3274 005016 4746 PLIT2&177+JMSIC /"JMS I PLIT2" 3275 005017 3740 QMVCNT /SET UP TO MOVE 3276 005020 7157 LITMORE-ZPLBEG+160-1 /LITERAL CODE DOWN 3277 005021 0164 PRGLIT /DO A LITERAL POOL DUMP AT PASS TWO END 3278 005022 6253 SLQRL2, DUMPZ /**** RELOCATE **** 3279 / "[&77+XTRATAB /ZAP LEFT BRACKET IN TABLE 3280 /SLQRL4,LBRAK /**** RELOCATE **** 3281 / "]&77+XTRATAB /ZAP RIGHT BRACKET INTO TABLE 3282 /SLQRL5,RBRAK /**** RELOCATE **** 3283 / "(&77+XTRATAB /ZAP LEFT PARENTHESIS IN TABLE 3284 /SLQRL6,LPARN /**** RELOCATE **** 3285 / ")&77+XTRATAB /ZAP RIGHT PARENTHESIS IN TABLE 3286 /SLQRL7,RPARN /**** RELOCATE **** 3287 / "#&77+XTRATAB /ZAP NUMBER-SIGN IN TABLE 3288 /SLQRL8,NUMSGN /**** RELOCATE **** 3289 005023 4360 SLQZP1 /RESET OLDLOC FOR PASS 2 3290 005024 6054 SLQRLA, OLDLOC /**** RELOCATE **** 3291 / PUSHPT /USE NEW STACK ADDRESS 3292 /SLQRLD,QSTACK /**** RELOCATE **** 3293 / PDLEND /USE NEW STACK LIMIT 3294 /SLQRLE,-QSTKEND /**** RELOCATE **** 3295 005025 1675 LITNBL /ENABLE LITERAL CHARACTER HANDLING 3296 005026 5600 SLQRLP, LITMORE /**** RELOCATE **** 3297 005027 4453 CLENABL /ENABLE CROSS-REFERENCE OF LITERALS 3298 005030 5671 SLQRLG, GOTZAP+2 /**** RELOCATE **** 3299 / /O ONLY ADDITIONAL REPLACEMENT LIST. 3300 3301 SLOZAP= . /**** /Q AND NOT /O **** 0000 3302 3303 / PS2ZAP /ALLOW "LG" MESSAGES 3304 / TAD LOCNTR /DURING PASS ONE 3305 005031 1322 OZAP2 /BRANCH TO OFF-PAGE LITERAL PROCESSOR BY 3306 005032 5723 OZAP3&177+JMPIC /"JMP I OZAP3" 3307 005033 1323 OZAP3 /ZAP POINTER TO OFPLIT 3308 005034 6117 SLORL1, OFPLIT /**** RELOCATE **** 3309 005035 4411 OZAP4 /ZAP POINTER TO OZAPL2 3310 005036 6141 SLORL2, OZAPL2 /**** RELOCATE **** 3311 005037 0000 0 /THIS ENDS THE LIST 3312 3313 / TITLES REPLACEMENT LIST. 3314 3315 005040 0000 SLLLST, 0 /**** TITLE ZAPS ENABLED **** TMVCNT 3316 005041 7577 -200-1 /MOVE DOWN 1 PAGE OF TITLE CODE 3317 005042 4414 PPBLB1 /ALLOW TITLE OUTPUT 3318 /SLLRL1, /**** RELOCATE **** 3319 005043 4600 XPBLURB /BY POINTING IT TO THIS 3320 005044 0000 0 /THIS ENDS THE LIST 3321 3322 / OBSOLETE TITLES RELOCATION LIST. 3323 / (TITLES ARE NOW USED AS ASSEMBLED AS THEY ARE ALWAYS THE FIRST OPTION.) 3324 3325 /SLLRLC,-TITCODE /-ASSEMBLED ADDRESS 3326 / SLLRL1 /POINTER TO SLLRL1 3327 / SLLRL2 /POINTER TO SLLRL2 3328 / SLLRL3 /POINTER TO SLLRL3 3329 / SLLRL4 /POINTER TO SLLRL4 3330 / SLLZAP /POINTER TO SLLZAP 3331 / GETTITLE /POINTER TO GETTITLE 3332 / 0 /END OF POSITIVE LIST 3333 / 0 /END OF NEGATIVE LIST 3334 / CONSOLE REPLACEMENT LIST. 3335 3336 005045 2556 CNLIST, CHKKSF /CHANGE "KSFIOT" 3337 005046 6212 CNZAP1, CIF 10+.-. /INTO "CIF MCS+10" 3338 005047 2557 CHKJMP; JMS INCON /CHANGE "JMP I CTLCTST" INTO INPUT CALL 005050 4031 3339 005051 2560 PCHKKRS,CHKKRS; CTLCTS&177+JMPIC/TURN "KRSIOT" (OR "KRBIOT") INTO "JMP I CTLCTST" 005052 5753 3340 005053 3210 P7TSF /CHANGE "TSFIOT" 3341 005054 6212 CNZAP2, CIF 10+.-. /INTO "CIF MCS+10" 3342 005055 3211 P7JMP; JMS OUTCON /TURN "JMP P7AGN" INTO OUTPUT CALL 005056 4033 3343 005057 3212 P7TLS; P7AGN&177+JMPC /CHANGE "TLSIOT" INTO "JMP P7AGN" 005060 5203 3344 005061 3233 DOUO1 /CHANGE "TSFIOT" 3345 005062 6212 CNZAP3, CIF 10+.-. /INTO "CIF MCS+10" 3346 005063 3234 DOUO1+1;JMS OUTCON /TURN "JMP DOUO1" INTO OUTPUT CALL 005064 4033 3347 005065 3235 DOUO1+2;DOUO1&177+JMPC /TURN "TLSIOT" INTO "JMP DOUO1" 005066 5233 3348 005067 3237 DOUO2 /CHANGE "TSFIOT" 3349 005070 6212 CNZAP4, CIF 10+.-. /INTO "CIF MCS+10" 3350 005071 3240 DOUO2+1;JMS OUTCON /TURN "JMP DOUO2" INTO OUTPUT CALL 005072 4033 3351 005073 3241 DOUO2+2;DOUO2&177+JMPC /TURN "TLSIOT" INTO "JMP DOUO2" 005074 5237 3352 005075 4742 LLZAP1; JMS OUTLPT /MAKE "JMP P7AGN" OR "JMS OUTCON" INTO LOGLPT: CALL 005076 4035 3353 005077 0000 0 /THIS ENDS THE LIST 3354 005100 1777 ENDIN1, TAD I (CHEND) /CALCULATE FREE SPACE 3355 005101 1123 TAD L7600/[7600] /IN FIELD 0 3356 005102 7450 SNA /SKIP IF THERE IS SOME 3357 005103 5325 JMP FIXEND /JUMP IF NONE 3358 005104 7112 CLL RTR /CALCULATE NUMBER OF SLOTS 3359 005105 7041 CIA /MAKE NEGATIVE 3360 005106 3776 DCA I (ELIMN8) /SAVE FOR LATER 3361 005107 7120 STL /SETUP IN CASE OF OVERFLOW 3362 005110 1067 TAD MSTSIZE /GET OLD SYMBOL TABLE SIZE 3363 005111 7450 SNA /SKIP IF IT WAS THERE 3364 005112 7100 CLL /ELSE CLEAR LINK 3365 005113 1776 TAD I (ELIMN8) /CALCULATE NEW SIZE 3366 005114 7470 SNA SZL /SKIP IF NO OVERFLOW 3367 005115 7201 NL0001 /ELSE SETUP MAXIMUM SIZE TABLE 3368 005116 3067 DCA MSTSIZ /SAVE SIZE FOR LATER 3369 005117 1776 TAD I (ELIMN8) /GET NUMBER IN FIELD 0 3370 005120 3775 DCA I (SYMS4K) /SAVE FOR SETSYM ROUTINE 3371 005121 1374 TAD (SNL) /ENABLE SETSYM TO 3372 005122 3773 DCA I (USE4K) /USE FIELD 0 3373 005123 1777 TAD I (CHEND) /SETUP 3374 005124 7041 CIA /TO CLEAR 3375 005125 3007 FIXEND, DCA SYMNUM /FIELD 0 3376 005126 1054 ETEST, TAD L200/[200] /GET /E MASK 3377 005127 0511 AND I NM1/[SWAL] /JUST /E BIT 3378 005130 7650 SNA CLA /SKIP IF SET 3379 005131 5334 JMP TESTY /JUMP IF NOT 3380 005132 1123 TAD L7600/[CLA!400] /GET A CLA 3381 005133 3772 DCA I (SLEZAP) /ZAP THE CODE 3382 005134 1513 TESTY, TAD I NM3/[SWY9] /GET /Y-/9 SWITCHES 3383 005135 7710 SPA CLA /SKIP IF OFF 3384 005136 5341 JMP TEST0 /JUMP IF ON 3385 005137 1371 TAD (XBCKIN&177+JMPC) /MAKE IT 3386 005140 3770 DCA I (SLYZAP) /DO INCLUSIVE OR INSTEAD 3387 005141 1513 TEST0, TAD I NM3/[SWY9] /GET /Y-/9 SWITCHES 3388 005142 7006 RTL /0 TO AC[0] 3389 005143 7700 SMA CLA /SKIP IF SET 3390 005144 5767 JMP I (ENDINIT) /JUMP IF OFF 3391 005145 1326 TAD ETEST/(TAD L200/[200]) /GET ENABLING CONSTANT 3392 005146 3766 DCA I (SL0ZAP) /ENABLE DEFAULT ORIGIN 3393 005147 5767 JMP I (ENDINIT) /CONTINUE THERE 3394 3395 005166 0626 PAGE 005167 3600 005170 0506 005171 5340 005172 6331 005173 2205 005174 7420 005175 2244 005176 4503 005177 4164 3396 / INTERNAL OPTION SWITCH MODIFICATION LIST. 3397 3398 005200 0000 OPTLST, ZBLOCK 3 /FOR XOR-ING SWITCHES 005201 0000 005202 0000 3399 3400 / LINC MODE RELOCATION LIST. 3401 3402 005203 1200 LNCRLC, -LNCODE /-ASSEMBLED ADDRESS 3403 005204 6527 LNCRL1 /POINTER TO PASS 1 MODE CHECK 3404 005205 6537 LNCRL2 /SYMBOL TABLE FIXUP POINTER 3405 005206 2241 XSGMNT+1 /SEGMNT PSEUDO-OP POINTER 3406 005207 2575 SKPASM+1 /ASMSKP PSEUDO-OP POINTER 3407 005210 2373 MASSIF+2 /ASMIFX PSEUDO-OP POINTER 3408 005211 2377 XDTORG+1 /RELOCATE DTORG PSEUDO-OP POINTER 3409 005212 6543 LNCRL3 /SYMBOL HANDLER 3410 005213 6547 LNCRL4 /ORIGIN HANDLER 3411 005214 6551 LNCRL5 /PASS 2 STARTUP 3412 005215 7171 LNCRL6 /LMODE MRI HANDLER 3413 005216 6555 LNCRL8 /RELOCATE "\" OPERATOR 3414 005217 1557 XPMODE+1 /LMODE, PMODE PSEUDO-OP POINTER 3415 005220 6754 RPADR /PMODE ZAP ADDRESS 3416 005221 6755 MODTBL /LMODE ZAP ADDRESS 3417 005222 6756 MLTABLE /LMODE SYMBOLS 3418 005223 6553 LNCRL7 /FIXTAB FIXUP POINTER 3419 005224 7003 MLTAB2 /FIXTAB TABLE POINTER 3420 005225 7215 ABCKSL /RELOCATE "\" HANDLING CODE POINTER 3421 005226 7216 LCHKMODE /RELOCATE POINTER TO CHKMODE 3422 005227 0000 0 /END OF POSITIVE LIST 3423 005230 0000 0 /END OF NEGATIVE LIST 3424 3425 / CROSS-REFERENCE RELOCATION LIST. 3426 3427 005231 0400 XRLC, -EXCODE /-ASSEMBLED ADDRESS 3428 005232 7473 CWBUFF /RELOCATE CROSS-REFERENCE BUFFER ARGUMENT 3429 005233 1674 DIGPT /PRINTOUT DIGIT POINTER 3430 005234 4440 EXRL2 /ERROR INTERCEPT POINTER 3431 005235 4434 EXRL3 /CURRENT FIELD OUTPUT INTERCEPT 3432 005236 4450 EXRL4 /RELOCATE EQUATE INTERCEPT POINTER 3433 005237 4444 EXRL7 /SYMBOL INTERCEPT POINTER 3434 005240 3567 EXZAPA /STATEMENT NUMBER INCREMENT POINTER 3435 005241 6414 QPUTREF /RELOCATE LITERAL'S POINTER TO PUTREF 3436 005242 7572 RESET /RESET POINTER FOR DIGIT INCREMENT 3437 005243 0012 RXR /CROSS-REFERENCE OUTPUT INDEX 3438 005244 0000 0 /END OF POSITIVE LIST 3439 005245 0000 0 /END OF NEGATIVE LIST 3440 / LITERALS AND LINKS RELOCATION LIST. 3441 3442 005246 2200 SLQRLC, -LITMORE /MINUS ASSEMBLED ADDRESS 3443 005247 5012 SLQRL0 /POINTER TO DUMPC FOR RELOC 3444 005250 5014 SLQRL1 /POINTER TO LIT1 FOR PUTORG ROUTINE 3445 005251 5022 SLQRL2 /POINTER TO DUMPZ FOR END OF EACH PASS 3446 / SLQRL4 /POINTER TO LBRAK 3447 / SLQRL5 /POINTER TO RBRAK 3448 / SLQRL6 /POINTER TO LPARN 3449 / SLQRL7 /POINTER TO RPARN 3450 / SLQRL8 /POINTER TO NUMSGN 3451 005252 5024 SLQRLA /POINTER TO OLDLOC TO BE ZEROED BY PASS 2 3452 / SLQRLD /POINTER TO SLQRLD 3453 005253 6413 SLQRLF /XREF POINTER TO GOTZAP+4 3454 / CQ /XREF POINTER TO Q 3455 005254 5030 SLQRLG /XREF LITERAL ENABLE POINTER 3456 005255 4455 SLQRLM /RELOCTE POINTER TO CRZAPD FOR PASS 2 3457 005256 4456 SLQRLN /RELOCATE POINTER TO CREFLIT ROUTINE FOR PASS 2 3458 005257 5026 SLQRLP /RELOCATE LITERAL STARTUP CODE 3459 005260 5034 SLORL1 /POINTER TO SLORL1 3460 005261 5036 SLORL2 /POINTER TO SLORL2 3461 005262 3146 PLIT2 /POINTER TO LIT2 3462 005263 5644 PZPLP2 /POINTER TO SECOND POINTER TO ZPLPTR 3463 005264 5656 PCPLP2 /POINTER TO SECOND POINTER TO CPLPTR 3464 005265 5736 PTSTPE /POINTER TO TSTPE 3465 005266 5737 PLGFIX /POINTER TO PLGFIX 3466 005267 6052 PDUMPC /POINTER TO DUMPC 3467 005270 6053 PCPLPTR /POINTER TO POINTER TO CPLPTR 3468 005271 6055 PZPLPTR /POINTER TO POINTER TO ZPLPTR 3469 005272 6056 PCPLEND /POINTER TO POINTER TO CPLEND 3470 005273 6057 PZPLEND /POINTER TO POINTER TO ZPLEND 3471 005274 6370 PCPLBUF /POINTER TO POINTER TO CPLBUF 3472 005275 6371 POLDLOC /POINTER TO POINTER TO OLDLOC 3473 / CPLPTR /POINTER TO CPLPTR 3474 005276 6376 ZPLPTR /POINTER TO ZPLPTR 3475 / PLITYPE /POINTER TO PLITYPE 3476 / PLITSWT /POINTER TO PLITSWT 3477 005277 6364 ACPLEND /POINTER TO SECOND POINTER TO CPLEND 3478 005300 6373 PZPLND2 /POINTER TO PZPLND2 3479 005301 6375 REMST /POINTER TO REMST 3480 005302 6145 PGOTZAP /POINTER TO POINTER TO GOTZAP 3481 005303 6146 POFFIN /POINTER TO POINTER TO OFFIN 3482 005304 0000 0 /END OF POSITIVE RELOCATION LIST 3483 3484 005305 5641 ZPLEND /POINTER TO ZPLEND 3485 005306 5645 ZPLBUF /POINTER TO ZPLBUF 3486 / CPLEND /POINTER TO CPLEND 3487 / CPLBUF /POINTER TO CPLBUF 3488 / PAGEND /POINTER TO PAGEND 3489 005307 6061 PAGZND /POINTER TO PAGZND 3490 / MCPLBEG /POINTER TO MCPLBEG 3491 005310 6377 ZPLRST /POINTER TO ZPLRST 3492 / SLQRLE /POINTER TO SLQRLE 3493 005311 0000 0 /END OF NEGATIVE RELOCATION LIST 3494 005312 4016 NFMSG, TEXT " NOT FOUND!" 005313 1724 005314 4006 005315 1725 005316 1604 005317 4100 3495 3496 / MONTHS MESSAGE LIST. 3497 3498 005320 5512 MONLST, TEXT "-JAN" /JANUARY 005321 0116 3499 005322 5506 TEXT "-FEB" /FEBRUARY 005323 0502 3500 005324 5515 TEXT "-MAR" /MARCH 005325 0122 3501 005326 5501 TEXT "-APR" /APRIL 005327 2022 3502 005330 5515 TEXT "-MAY" /MAY 005331 0131 3503 005332 5512 TEXT "-JUN" /JUNE 005333 2516 3504 005334 5512 TEXT "-JUL" /JULY 005335 2514 3505 005336 5501 TEXT "-AUG" /AUGUST 005337 2507 3506 005340 5523 TEXT "-SEP" /SEPTEMBER 005341 0520 3507 005342 5517 TEXT "-OCT" /OCTOBER 005343 0324 3508 005344 5516 TEXT "-NOV" /NOVEMBER 005345 1726 3509 005346 5504 TEXT "-DEC" /DECEMBER 005347 0503 3510 3511 / MONTH LENGTH TABLE. 3512 3513 005350 0037 JANENT, 37 /31 DAYS IN JANUARY 3514 005351 0034 FEBENT, 34 /29 IN LEAP YEAR! 3515 005352 0037 37 /31 DAYS IN MARCH 3516 005353 0036 36 /30 DAYS IN APRIL 3517 005354 0037 37 /31 DAYS IN MAY 3518 005355 0036 36 /30 DAYS IN JUNE 3519 005356 0037 37 /31 DAYS IN JULY 3520 005357 0037 37 /31 DAYS IN AUGUST 3521 005360 0036 36 /30 DAYS IN SEPTEMBER 3522 005361 0037 37 /31 DAYS IN OCTOBER 3523 005362 0036 36 /30 DAYS IN NOVEMBER 3524 / 37 /31 DAYS IN DECEMBER 3525 3526 005363 0000 ZBLOCK 5400-. /FORCE LAST LOADED OPTION TO END AT 07577 005364 0000 005365 0000 005366 0000 005367 0000 005370 0000 005371 0000 005372 0000 005373 0000 005374 0000 005375 0000 005376 0000 005377 0000 3527 TITCOD, FIELD 0 /PREVENT LITERAL PROBLEMS CAUSED BY OVERLAYS 3528 3529 / TITLE CODE GOES HERE. 3530 3531 *TITCOD /TITLES START HERE 3532 3533 RELOC SOURCE /WHERE IT EXECUTES 3534 3535 004600* 0000 XPBLURB,.-. /PUT OUT THE BLURB ROUTINE 3536 004601* 1246 TAD SLLRL3/(BLURB) /GRAB OUR POINTER 3537 004602* 4224 JMS TITOUT /PRINT IT OUT 3538 004603* 7772 TITLEN, -5-1 /DEFAULT IS THE LENGTH OF THE DUMMY TITLE 3539 004604* 1323 TAD SLLRL2/(BLBEGN) /GET THEIR POINTER 3540 004605* 4224 JMS TITOUT /PRINT THEIR PART OUT 3541 004606* 7754 STTLEN, 7754+1-1 /**** /S AND /N DURING SYMBOL TABLE OVERLAY **** 7754-1 3542 004607* 2036 ISZ OVFLPG /BUMP CONTINUATION 3543 004610* 7410 OVFZP1, SKP /DON'T 3544 004611* 2244 ISZ PAGNUM /BUMP PAGE NUMBER 3545 004612* 1244 TAD PAGNUM /GET PAGE NUMBER 3546 004613* 4565 JMS I PRTDEC/[DECPRT] /PRINT IT OUT 3547 004614* 1036 OVFZP2, TAD OVFLPG /GET OVERFLOW 3548 004615* 7650 SNA CLA /ANY OVERFLOW? 3549 004616* 5600 JMP I XPBLURB /NO, JUST RETURN 3550 004617* 1307 TAD TMIN/("-&77) /YES, PRINT A MINUS 3551 004620* 4446 JMS I P6CH/[XP6CH] /SIGN TO TELL THEM SO 3552 004621* 1036 TAD OVFLPG /GET COUNT AGAIN 3553 004622* 4565 JMS I PRTDEC/[DECPRT] /PRINT IT OUT 3554 004623* 5600 JMP I XPBLURB /RETURN 3555 3556 004624* 0000 TITOUT, .-. /BLURB OUTPUTTER 3557 004625* 3077 DCA TITPTR /SAVE PASSED POINTER 3558 004626* 1624 TAD I TITOUT /GET THE COUNT 3559 004627* 3420 DCA I PUSH-JMSI /STASH IT 3560 004630* 2224 ISZ TITOUT /BUMP PAST ARGUMENT 3561 004631* 5241 JMP TITTRY /CHECK FIRST IN CASE ZERO LENGTH 3562 3563 004632* 1477 TITAGN, TAD I TITPTR /GET A PAIR 3564 004633* 4534 JMS I ROR6/[XROR6] /DO A BSW 3565 004634* 4446 JMS I P6CH/[XP6CH] /PRINT HIGH ORDER WHICH CAN'T BE ZERO 3566 004635* 1477 TAD I TITPTR /GET AGAIN 3567 004636* 0136 AND L77/[77] /BE SURE 3568 004637* 4446 JMS I P6CH/[XP6CH] /PRINT LOW ORDER WHICH COULD BE ZERO 3569 004640* 2077 ISZ TITPTR /BUMP TO NEXT PAIR 3570 004641* 2420 TITTRY, ISZ I PUSH-JMSI /DONE ALL YET? 3571 004642* 5232 JMP TITAGN /NO, GO BACK 3572 004643* 5624 JMP I TITOUT /YES, RETURN 3573 3574 004644* 0000 PAGNUM, 0 /PAGE NUMBER 3575 004645* 3405 BAKADR, NOTITL /RETURN ADDRESS 3576 004646* 4751 SLLRL3, BLURB /POINTER TO USER PORTION OF THE TITLE 3577 004647* 7240 XGBLURB,NL7777 /INDICATE CHPTR INPUT 3578 004650* 3224 DOTITLE,DCA TITOUT /TO GRBTITLE ROUTINE 3579 004651* 1246 TAD SLLRL3/(BLURB) /SET UP 3580 004652* 3077 DCA TITPTR /NEW TITLE POINTER 3581 004653* 1350 TAD TITMAX/(BLURB-TITEND) /SET UP MAXIMUM 3582 004654* 3200 DCA XPBLURB /TITLE LENGTH 3583 3584 IFNZRO .&177-55 3585 004655* 1224 GRBAGN, TAD TITOUT /WHICH INPUT MODE? 3586 004656* 7710 SPA CLA /SKIP IF GCH MODE 3587 004657* 5264 JMP GETIT1 /JUMP IF CHPTR MODE 3588 004660* 4431 JMS I GCH/[XGCH] /GET A CHARACTER 3589 004661* 4534 JMS I ROR6/[XROR6] /ROTATE LEFT 3590 004662* 7010 RAR /SIX 3591 004663* 7410 SKP /ONE TITLE CHARACTER IS ENOUGH 3592 004664* 1542 GETIT1, TAD I CHPTR /READ INPUT PAIR 3593 004665* 0272 AND L7700F/(7700) /JUST HIGH-ORDER 3594 004666* 7450 SNA /SKIP IF NOT 3595 004667* 5312 JMP BLCALC /CALCULATE LENGTH, WE'RE DONE 3596 004670* 3477 DCA I TITPTR /SAVE CHARACTER IN TITLE BUFFER 3597 004671* 1224 TAD TITOUT /GET MODE SWITCH AGAIN 3598 004672* 7700 L7700F, SMA CLA /SKIP IF CHPTR MODE 3599 004673* 5277 JMP GETIT2 /JUMP IF GCH MODE 3600 004674* 1542 TAD I CHPTR /GET A PAIR 3601 004675* 2142 ISZ CHPTR /BUMP TO NEXT 3602 004676* 7410 SKP /DON'T 3603 004677* 4431 GETIT2, JMS I GCH/[XGCH] /GET A CHARACTER 3604 004700* 0136 AND L77/[77] /JUST LOW ORDER PLEASE 3605 004701* 7450 SNA /? 3606 004702* 5311 JMP BLCALC-1 /YES, CALCULATE LENGTH 3607 004703* 1477 TAD I TITPTR /GET HIGH ORDER 3608 004704* 3477 DCA I TITPTR /SAVE BOTH 3609 004705* 2077 ISZ TITPTR /BUMP TO NEXT 3610 004706* 2200 ISZ XPBLURB /BUMP COUNT (MAY SKIP) 3611 004707* 5255 TMIN, JMP GRBAGN /GET ANOTHER PAIR 3612 004710* 7410 SKP /DON'T BUMP IF WE FALL THROUGH 3613 004711* 2200 ISZ XPBLURB /ACCOUNT FOR HIGH-ORDER 3614 004712* 1200 BLCALC, TAD XPBLURB /GET COUNT 3615 004713* 7040 CMA /FOR ZERO CASE, DO IT THIS WAY 3616 004714* 1350 TAD TITMAX/(BLURB-TITEND) /NOW WE HAVE HOW MANY 3617 004715* 3203 DCA TITLEN /SAVE FOR PBLURB ROUTINE 3618 004716* 2224 ISZ TITOUT /WHICH RETURN? 3619 004717* 5645 JMP I BAKADR/(NOTITLE) /GO BACK TO TITLE OR EJECT 3620 004720* 4526 JMS I PEJECT/[DEJECT] /DO AN EJECT FOR NEW FILES 3621 004721* 5722 JMP I .+1/(GOFAST) /NOW BACK AND RESET INPUT ROUTINE 3622 004722* 4077 GOFAST /THROUGH HERE 3623 004723* 4724 SLLRL2, BLBEGN /POINTER TO OUR PORTION OF THE TITLE 3624 004724* 3720 BLBEGN, 3720 /P 3625 004725* 7723 TEXT "?S PAL V" 004726* 4020 004727* 0114 004730* 4026 3626 004731* 6070 VERSIO%12^66+VERSIO+6060/VERSION NUMBER 3627 004732* 2340 REVISION^100+" -200 / 3628 004733* 4040 TEXT " " / 3629 004734* 4015 DAYBLB, TEXT " MON UN-DAT-ED PAGE S-" 004735* 1716 004736* 4040 004737* 2516 004740* 5504 004741* 0124 004742* 5505 004743* 0440 004744* 4020 004745* 0107 004746* 0540 004747* 2355 3630 004750* 7751 TITMAX, BLURB-TITND /MAXIMUM LENGTH OF USER BLURB 3631 3632 004751* 1617 BLURB, TEXT "NO INPUT!" /DEFAULT TITLE 004752* 4011 004753* 1620 004754* 2524 004755* 4100 3633 3634 TITND= .+177&7600 /END OF USER BLURB AREA 3635 3636 RELOC /RESTORE REAL ORIGIN 3637 3638 / DAYS OF THE WEEK MESSAGE TABLE. 3639 3640 005556 4024 DAYS, TEXT " THU" /THURSDAY 005557 1025 3641 005560 4006 TEXT " FRI" /FRIDAY 005561 2211 3642 005562 4023 TEXT " SAT" /SATURDAY 005563 0124 3643 005564 4023 TEXT " SUN" /SUNDAY 005565 2516 3644 005566 4015 TEXT " MON" /MONDAY 005567 1716 3645 005570 4024 TEXT " TUE" /TUESDAY 005571 2505 3646 005572 4027 TEXT " WED" /WEDNESDAY 005573 0504 3647 3648 PAGE /GET TO NEXT PAGE 3649 3650 TITEND= . /END OF TITLE CODE 3651 / CONTINUATION OF LITERAL PROCESSOR. 3652 3653 005600 1076 LITMORE,TAD RESULT /GET PREVIOUS VALUE 3654 005601 4420 PUSH /STASH IT 3655 005602 1132 TAD PRVOPR /GET PREVIOUS OPERATOR 3656 005603 4420 PUSH /SAVE THAT TOO 3657 005604 1152 TAD LITYPE /GET PREVIOUS LITERAL TYPE 3658 005605 4420 PUSH /SAVE THAT ALSO 3659 005606 1017 TAD MRISW /GET CURRENT MRI SWITCH 3660 005607 4420 PUSH /SAVE IT 3661 005610 3017 DCA MRISW /MRI'S NOT IN PROGRESS 3662 005611 1124 TAD MRINDS /GET MRI BITS 3663 005612 4420 PUSH /SAVE THEM 3664 005613 3124 DCA MRINDS /NOT ANY MRI BITS NOW 3665 005614 1167 TAD Q /GET CURRENT LITERAL TYPE 3666 005615 3152 DCA LITYPE /TO ITS HOLDER 3667 005616 2150 ISZ LITFLG /UP LITERAL LEVEL 3668 005617 4430 JMS I EXPR/[XEXPR] /SCAN OFF LITERAL EXPRESSION 3669 005620 4427 JMS I ERR/[XERR] /COMPLAIN OF "NE" ERROR 3670 005621 1013 NE /THIS IS A HARMLESS "TAD" 3671 005622 7240 NL7777 /\ 3672 005623 1150 TAD LITFLG / >BACKUP LITERAL LEVEL 3673 005624 3150 DCA LITFLG // 3674 005625 4736 JMS I PTSTPE /TEST IF WE OVERFLOW THE PAGE 3675 005626 1152 TAD LITYPE /\ 3676 005627 7450 SNA / \ 3677 005630 5250 JMP NMSLIT / >PROCESS NUMBER-SIGN OR PAGE ZERO LITERAL 3678 005631 7700 SMA CLA / / 3679 005632 5237 JMP ZPL // 3680 005633 1104 OFFIN, TAD LOCNTR /\ 3681 005634 0123 AND L7600/[7600] / \ON PAGE ZERO "(" IS 3682 005635 7640 SZA CLA / /A PAGE ZERO LITERAL! 3683 005636 5251 JMP CPL // 3684 005637 4242 ZPL, JMS SERCHZ /SEARCH FOR PREVIOUS VALUE 3685 005640 4347 JMS INSRTL /PUT IN NEW VALUE 3686 005641 1360 ZPLEND, -ZPLBEG+160 /**** RELOCATE **** 3687 3688 LITPTR= . /INSRTL TEMPORARY 3689 3690 005642 0000 SERCHZ, .-. /SEARCH FOR PAGE ZERO LITERALS 3691 005643 4310 JMS ISIT /CALL TRUE SEARCH ROUTINE 3692 005644 6376 PZPLP2, ZPLPTR /**** RELOCATE **** 3693 005645 1177 ZPLBUF, -ZPLBEG-1 /**** RELOCATE **** 3694 005646 5264 JMP GOTZPL /WE FOUND IT! 3695 005647 5642 JMP I SERCHZ /TRY AGAIN 3696 005650 4242 NMSLIT, JMS SERCHZ /SEARCH PAGE ZERO FIRST 3697 005651 4254 CPL, JMS SERCHC /SEARCH FOR PREVIOUS VALUE 3698 005652 4347 JMS INSRTL /PUT IN NEW VALUE 3699 005653 6077 CPLEND, -CPLBEG+77 /CURRENT PAGE LITERAL LIMIT POINTER 3700 3701 LITEND= . /INSRTL TEMPORARY 3702 3703 005654 0000 SERCHC, .-. /SEARCH FOR CURRENT PAGE LITERALS 3704 005655 4310 JMS ISIT /CALL TRUE SEARCH ROUTINE 3705 005656 6365 PCPLP2, CPLPTR /**** RELOCATE **** 3706 005657 5777 CPLBUF, -CPLBEG-1 /CURRENT PAGE LITERAL LIMIT CONSTANT 3707 005660 5262 JMP GOTCPL /WE FOUND IT! 3708 005661 5654 JMP I SERCHC /TRY AGAIN 3709 3710 005662 1104 GOTCPL, TAD LOCNTR /GET LOCATION COUNTER 3711 005663 0123 AND L7600/[7600] /PAGE BITS ONLY 3712 005664 3254 GOTZPL, DCA LITEND /SAVE PAGE BITS; 0 FOR ZPL 3713 005665 1167 TAD Q /GET LITERAL POINTER 3714 005666 0047 AND L177/[177] /ADDRESS BITS ONLY 3715 005667 1254 GOTZAP, TAD LITEND /PLUS CORRECT PAGE; JMP I PLGFIX IF LG 3716 005670 3135 DCA SVAL /PASS BACK TO EXPRESSION SCAN 3717 005671 4421 POP /**** /L AND /X AND PASS 2 **** JMP I CRZAPD 3718 005672 3124 CRZAPD, DCA MRINDS /**** /L AND /X AND PASS 2 **** CRFLIT (RELOCATED) 3719 005673 4421 POP /RESTORE 3720 005674 3017 DCA MRISW /PREVIOUS MRI CONDITION 3721 005675 4421 POP /RECOVER LAST 3722 005676 3152 DCA LITYPE /LITERAL TYPE 3723 005677 4421 POP /RESTORE 3724 005700 3132 DCA PRVOPR /PREVIOUS OPERATOR 3725 005701 4421 POP /RESTORE 3726 005702 3076 DCA RESULT /PREVIOUS EXPRESSION RESULT 3727 005703 2151 ISZ LITSWT /")" OR "]" FOUND? 3728 005704 7410 SKP /SKIP IF NONE FOUND 3729 005705 5177 JMP SETCHR+1 /CONTINUE FORWARD 3730 005706 4426 JMS I ARITH/[XARITH] /DO OLD OPERATION 3731 005707 5457 JMP I VALRET/[VEXIT] /NOW RETURN TO EXPRESSION CALL 3732 3733 005710 0000 ISIT, .-. /LITERAL SEARCH ROUTINE 3734 005711 1710 TAD I ISIT /GET CPLPTR OR ZPLPTR 3735 005712 2310 ISZ ISIT /BUMP TO NEXT ARGUMENT 3736 005713 3167 DCA Q /SAVE AS OUR LITERAL POINTER 3737 005714 1567 TAD I Q /GET POINTER VALUE 3738 005715 1710 TAD I ISIT /ADD ON BEGINNING VALUE 3739 005716 2310 ISZ ISIT /BUMP PAST ARGUMENT 3740 005717 3347 DCA INSRTL /SAVE AS COUNT 3741 005720 7240 NL7777 /\ 3742 005721 1567 TAD I Q / >BACKUP FOR TEST AND SAVE POINTER 3743 005722 3167 DCA Q // 3744 005723 5332 JMP LITTST /NOW SEARCH 3745 005724 2167 LTLOOP, ISZ Q /BUMP LITERAL VALUE POINTER 3746 005725 1567 TAD I Q /GET LITERAL VALUE 3747 005726 7041 CIA /INVERT FOR COMPARISON 3748 005727 1076 TAD RESULT /ADD ON LITERAL VALUE (CURRENT) 3749 005730 7650 SNA CLA /SKIP IF NOT FOUND 3750 005731 5710 JMP I ISIT /RETURN WITH Q POINTING TO SLOT 3751 005732 2347 LITTST, ISZ INSRTL /ISZ FIRST, ASK QUESTIONS LATER 3752 005733 5324 JMP LTLOOP /GO LOOK FOR A LITERAL 3753 005734 2310 ISZ ISIT /WASN'T FOUND, BUMP RETURN ADDRESS 3754 005735 5710 JMP I ISIT /RETURN 3755 3756 005736 6000 PTSTPE, TESTPE /**** RELOCATE **** 3757 005737 6125 PLGFIX, LGFIX /**** RELOCATE **** 3758 005740 3016 PXPUTOR,XPUTORG /POINTER TO REAL PUTORG ROUTINE 3759 3760 005741 0000 LIT1, .-. /PUTORG INTERCEPT ROUTINE 3761 005742 3104 DCA LOCNTR /SAVE THE NEW ORIGIN 3762 005743 4736 JMS I PTSTPE /CHECK IF IT EXCEEDS THE PAGE 3763 005744 1104 TAD LOCNTR /GET THE ORIGIN BACK 3764 005745 4740 JMS I PXPUTOR/(XPUTOR)/REALLY PUNCH IT 3765 005746 5741 JMP I LIT1 /RETURN 3766 3767 005747 0000 INSRTL, .-. /INSERT A LITERAL ROUTINE 3768 005750 1747 TAD I INSRTL /GET CPLEND OR ZPLEND 3769 005751 3254 DCA LITEND /SAVE AS LIMIT 3770 005752 2347 ISZ INSRTL /\ 3771 005753 2347 ISZ INSRTL / >BUMP TO ISIT ARGUMENT 3772 005754 2347 ISZ INSRTL // 3773 005755 1747 TAD I INSRTL /GET CPLPTR OR ZPLPTR 3774 005756 3242 DCA LITPTR /SAVE AS OUR LITERAL POINTER 3775 005757 2347 ISZ INSRTL /BUMP TO JUMP TO 3776 005760 2347 ISZ INSRTL /GOTCPL OR GOTZPL 3777 005761 1642 TAD I LITPTR /GET LITERAL POINTER 3778 005762 1254 TAD LITEND /COMPARE TO TABLE LIMIT 3779 005763 7740 SMA SZA CLA /SKIP IF TABLE FULL 3780 005764 5370 JMP .+4 /JUMP IF THERE IS ROOM 3781 005765 4427 JMS I ERR/[XERR] /COMPLAIN OF NO ROOM 3782 005766 0117 BE /LITERAL BUFFER EXCEEDED 3783 005767 5747 JMP I INSRTL /FORGET IT 3784 3785 005770 7240 NL7777 /\ 3786 005771 1642 TAD I LITPTR / >BACKUP CPLPTR OR ZPLPTR 3787 005772 3642 DCA I LITPTR // 3788 005773 1642 TAD I LITPTR /GET NEW POINTER 3789 005774 3167 DCA Q /PUT IN Q AS LITERAL VALUE POINTER 3790 005775 1076 TAD RESULT /INSERT 3791 005776 3567 DCA I Q /LITERAL 3792 005777 5747 JMP I INSRTL /RETURN 3793 PAGE 3794 3795 006000 0000 TESTPE, .-. /TEST FOR EXCEEDING PAGE 3796 006001 1254 GOTFIX, TAD OLDLOC /GET OLD 3797 006002 0123 AND L7600/[7600] /PAGE BITS 3798 006003 7041 CIA /\ 3799 006004 1104 TAD LOCNTR / \ 3800 006005 0123 AND L7600/[7600] / >OK IF SAME PAGE AS PREVIOUS 3801 006006 7650 SNA CLA / / 3802 006007 5225 JMP TESTXT // 3803 006010 1444 TAD I PUTWD /SAVE RETURN ADDRESS 3804 006011 3262 DCA TPE1 /IF NECESSARY 3805 006012 1312 TAD NOTEST/(JMP LIT2XT) /ZAP CALL TO TESTPE 3806 006013 3265 DCA LT2ZAP /TO PREVENT RECURSION 3807 006014 1435 TAD I ORSYM/[XORSYM] /GET OLD PUTWD ARGUMENT 3808 006015 3263 DCA TPE2 /SAVE IF NECESSARY 3809 006016 4652 JMS I PDUMPC /NOW DUMP OUT THE LITERALS 3810 006017 1317 TAD OFPLIT/(JMS TESTPE) /RESET TESTPE CALL 3811 006020 3265 DCA LT2ZAP /FOR FUTURE USE 3812 006021 1262 TAD TPE1 /RESTORE RETURN ADDRESS 3813 006022 3444 DCA I PUTWD /IF NECESSARY 3814 006023 1263 TAD TPE2 /RESTORE OLD PUTWD ARGUMENT 3815 006024 3435 DCA I ORSYM/[XORSYM] /IF NECESSARY 3816 006025 1104 TESTXT, TAD LOCNTR /CURRENT LOCATION COUNTER 3817 006026 3254 DCA OLDLOC /IS OLD LOCATION COUNTER ALSO 3818 006027 5600 JMP I TESTPE /RETURN 3819 3820 006030 1655 ZPORG, TAD I PZPLPTR /\ 3821 006031 1261 TAD PAGZND / \ 3822 006032 1025 TAD TMP / \ 3823 006033 7700 SMA CLA / >CHECK IF WE OVERLAP PAGE ZERO LITERALS 3824 006034 5237 JMP .+3 / / 3825 006035 4427 JMS I ERR/[XERR] / / 3826 006036 1707 ZE // 3827 006037 1657 TAD I PZPLEND /\ 3828 006040 7041 CIA / \ 3829 006041 1261 TAD PAGZND / \ 3830 006042 1025 TAD TMP / \ 3831 006043 7700 SMA CLA / >IF GREATER THAN ZPLEND, UPDATE ZPLEND 3832 006044 5250 JMP LIT2XT / / 3833 006045 1261 TAD PAGZND / / 3834 006046 1025 TAD TMP / / 3835 006047 3657 DCA I PZPLEND // 3836 006050 1053 LIT2XT, TAD LSTSW /THIS IS THE DISPLACED INSTRUCTION 3837 006051 5664 JMP I LIT2 /RETURN 3838 006052 6211 PDUMPC, DUMPC /**** RELOCATE **** 3839 006053 6365 PCPLPTR,CPLPTR /**** RELOCATE **** 3840 006054 0200 OLDLOC, 200 /OLD LOCATION COUNTER 3841 006055 6376 PZPLPTR,ZPLPTR /**** RELOCATE **** 3842 006056 5653 PCPLEND,CPLEND /**** RELOCATE **** 3843 006057 5641 PZPLEND,ZPLEND /**** RELOCATE **** 3844 006060 6177 PAGEND, -CPLBEG+177 /CURRENT PAGE LITERAL BEGINNING CONSTANT 3845 006061 1377 PAGZND, -ZPLBEG+177 /**** RELOCATE **** 3846 006062 0000 TPE1, .-. /TEMPORARY FOR TESTPE 3847 006063 0000 TPE2, .-. /TEMPORARY FOR TESTPE 3848 3849 IFNZRO OLDLOC-LITEND&177 3850 3851 006064 0000 LIT2, .-. /PUTWD INTERCEPT ROUTINE 3852 006065 4200 LT2ZAP, JMS TESTPE /JMP LIT2XT IF ZAPPED BY TESTPE 3853 006066 1104 TAD LOCNTR /\ 3854 006067 0047 L47, AND L177/[177] / \SAVE INVERTED PAGE 3855 006070 7041 CIA / /BITS IN TMP 3856 006071 3025 DCA TMP // 3857 006072 1104 TAD LOCNTR /\ 3858 006073 0123 AND L7600/[7600] / \CHECK FOR PAGE ZERO 3859 006074 7650 SNA CLA / /AND BRANCH TO ZPORG IF SO 3860 006075 5230 JMP ZPORG // 3861 006076 1653 TAD I PCPLPTR /\ 3862 006077 1260 TAD PAGEND/(-CPLBEG+177) / \ 3863 006100 1025 TAD TMP / \ 3864 006101 7700 SMA CLA / >CHECK IF THIS WORD OVERFLOWS LITERALS 3865 006102 5305 JMP .+3 / / 3866 006103 4427 JMS I ERR/[XERR] / / 3867 006104 1125 PE // 3868 006105 1656 TAD I PCPLEND /\ 3869 006106 7041 CIA / \ 3870 006107 1260 TAD PAGEND/(-CPLBEG+177) / \ 3871 006110 1025 TAD TMP / \ 3872 006111 7700 SMA CLA / \IF WORD IS HIGHER THAN 3873 006112 5250 NOTEST, JMP LIT2XT / /CPLEND, THEN UPDATE CPLEND 3874 006113 1260 TAD PAGEND / / 3875 006114 1025 TAD TMP / / 3876 006115 3656 DCA I PCPLEND / / 3877 006116 5250 JMP LIT2XT // 3878 / OFFPAGE LITERAL PROCESSOR. 3879 3880 / SOMETIMES KNOWN AS LINK GENERATOR. 3881 / SOMETIMES KNOWN AS ILLEGAL REFERENCES. 3882 3883 / WARNING: 3884 / THIS PROCESSOR IS IGNORANT OF RELOCATION. THE 3885 / DEVELOPMENT OF THIS ASSEMBLER WAS INHIBITED BY THE USE 3886 / OF A SYSTEM WHERE THIS VERY FEATURE COULD NOT BE TURNED 3887 / OFF. WE RECOMMEND YOU NEVER TURN IT ON! HOW LAZY CAN 3888 / YOU GET IF YOU NEED THIS KLUDGE TO GET YOUR CRUMMY 3889 / PROGRAM WORKING AT ALL! 3890 3891 / FURTHER WARNING: 3892 / LINKS FOR "AND", "TAD", "ISZ", AND "DCA" INSTRUCTIONS 3893 / DON'T WORK IN EXTENDED MEMORY SITUATIONS WHERE (QUITE 3894 / USUALLY) THE DATA AND INSTRUCTION FIELDS DIFFER. 3895 3896 006117 4200 OFPLIT, JMS TESTPE /TEST IF WE EXCEED THE PAGE 3897 006120 4427 OZAPLG, JMS I ERR/[XERR] /**** /O AND /Q **** 0000 3898 006121 0703 LG /LINK GENERATION ERROR 3899 006122 1344 TAD CPLZAP/(PLGFIX&177+JMPIC) /ZAP GOTCPL ROUTINE 3900 006123 3745 DCA I PGOTZAP /TO COME BACK TO US 3901 006124 5746 JMP I POFFIN /INSERT LITERAL ON CURRENT PAGE 3902 3903 006125 3076 LGFIX, DCA RESULT /AC CONTAINS Q&177 3904 006126 1201 TAD GOTFIX/(TAD OLDLOC) /RESTORE 3905 006127 3745 DCA I PGOTZAP /CPL INSTRUCTION 3906 006130 1124 TAD MRINDS /\ 3907 006131 0350 AND LT400/(400) / \ 3908 006132 7640 SZA CLA / >COMPLAIN IF ALREADY INDIRECT 3909 006133 4427 JMS I ERR/[XERR] / / 3910 006134 0526 II // 3911 006135 2155 ISZ OFPCNT /UP BADNESS COUNT 3912 006136 1347 TAD L600/(600) /FORCE INDIRECTNESS 3913 006137 3124 DCA MRINDS /FROM CURRENT PAGE 3914 006140 1267 TAD L47/("'&77) /PUT FIXUP 3915 006141 7200 OZAPL2, CLA /**** PASS 2 AND /L AND /O **** DCA RCHAR 3916 006142 5743 JMP I .+1/(MRIOK) /RETURN TO MRI PROCESSOR 3917 006143 1325 MRIOK /THROUGH HERE 3918 3919 006144 5737 CPLZAP, PLGFIX&177+JMPIC /"JMP I PLGFIX" 3920 006145 5667 PGOTZAP,GOTZAP /**** RELOCATE **** 3921 006146 5633 POFFIN, OFFIN /**** RELOCATE **** 3922 006147 0600 L600, 600 /CURRENT PAGE, INDIRECT 3923 006150 0400 LT400, 400 /INDIRECT MASK 3924 3925 006151 0000 REMTBL, ZBLOCK 40 /MUST BE ZEROED OUT BEFORE PASS 1 STARTS 006152 0000 006153 0000 006154 0000 006155 0000 006156 0000 006157 0000 006160 0000 006161 0000 006162 0000 006163 0000 006164 0000 006165 0000 006166 0000 006167 0000 006170 0000 006171 0000 006172 0000 006173 0000 006174 0000 006175 0000 006176 0000 006177 0000 006200 0000 006201 0000 006202 0000 006203 0000 006204 0000 006205 0000 006206 0000 006207 0000 006210 0000 3926 / CURRENT PAGE LITERAL DUMPING ROUTINE. 3927 / CALLED FROM DUMPZ OR TESTPE WITH LIT2 NOPPED. 3928 3929 006211 0000 DUMPC, .-. /DUMP CURRENT PAGE LITERALS 3930 006212 1365 TAD CPLPTR /SAVE CPLPTR 3931 006213 3366 DCA DMP1 /FOR REMEMBERING PURPOSES 3932 006214 1770 TAD I PCPLBUF /GET COUNT OF THE 3933 006215 1365 TAD CPLPTR /GENERATED LITERALS 3934 006216 7101 CLL IAC /CLEAR LINK FOR PUNCHING + CORRECT COUNT 3935 006217 7450 SNA /SKIP IF ANY 3936 006220 5251 JMP DMPXIT /JUMP IF NONE TO DMPXIT IN CASE CPLEND WAS UPDATED 3937 006221 3355 DCA REMSET /SAVE LITERAL COUNT 3938 006222 1006 TAD RCHAR /SAVE POSSIBLE 3939 006223 4420 PUSH /QUOTE CHARACTER 3940 006224 3006 DCA RCHAR /FORCE NO QUOTE 3941 006225 1771 TAD I POLDLOC /\ 3942 006226 0123 AND L7600/[7600] / >GET CURRENT PAGE BITS 3943 006227 3315 DCA REMBER // 3944 006230 1365 TAD CPLPTR /\ 3945 006231 0047 AND L177/[177] / >CREATE COMPLETE ORIGIN SETTING 3946 006232 1315 TAD REMBER // 3947 006233 4772 JMS I PUNORG/[XPUTORG]/PUNCH AN ORIGIN SETTING 3948 006234 1104 TAD LOCNTR /SAVE CURRENT 3949 006235 3315 DCA REMBER /ORIGIN SETTING 3950 006236 1435 TAD I ORSYM/[XORSYM] /GET OUR NEW ORIGIN SETTING 3951 006237 3104 DCA LOCNTR /PUT IN LOCNTR SO IT CAN BE LISTED 3952 006240 1765 DMPCLP, TAD I CPLPTR /\ 3953 006241 2365 ISZ CPLPTR / \ 3954 006242 4444 JMS I PUTWD/[XPUTWD] / >DUMP THE LITERALS OUT 3955 006243 2355 ISZ REMSET / / 3956 006244 5240 JMP DMPCLP // 3957 006245 1315 TAD REMBER /RESTORE 3958 006246 3104 DCA LOCNTR /LOCATION COUNTER 3959 006247 4421 POP /RESTORE SAVED 3960 006250 3006 DCA RCHAR /QUOTE CHARACTER 3961 006251 4315 DMPXIT, JMS REMBER /FIXUP ALL LITERAL POINTERS, ETC. 3962 006252 5611 JMP I DUMPC /RETURN 3963 006253 0000 DUMPZ, .-. /DUMP ALL LITERALS ROUTINE 3964 006254 4211 JMS DUMPC /DUMP CPL'S FIRST 3965 006255 7740 REMLEN, SMA SZA CLA /NOT NOW (EXTRANEOUS SKIPS TO GENERATE A 7740) 3966 006256 5271 JMP DMPZIT /LATER 3967 006257 1255 TAD REMLEN/(-40) /SET UP 3968 006260 3355 DCA REMSET /COUNTER 3969 006261 1375 TAD REMST /SET UP 3970 006262 3374 DCA REMPTR /POINTER 3971 006263 3774 DCA I REMPTR /CLEAR AN ENTRY 3972 006264 2374 ISZ REMPTR /BUMP UP POINTER 3973 006265 2355 ISZ REMSET /BUMP UP COUNT 3974 006266 5263 JMP .-3 /GO BACK 'TIL DONE 3975 006267 2211 ISZ DUMPC /RETURN 3976 006270 5334 JMP REMIND /TO MIDDLE OF REMBER 3977 3978 006271 1376 DMPZIT, TAD ZPLPTR /\ 3979 006272 0047 AND L177/[177] / \ 3980 006273 7450 SNA / \RETURN IF NO LITERALS 3981 006274 5312 JMP DMPZXT / /ELSE SET UP COUNT 3982 006275 1123 TAD L7600/[7600] / / 3983 006276 3355 DCA REMSET // 3984 006277 1376 TAD ZPLPTR /\ 3985 006300 0047 AND L177/[177] / >PUNCH OUT LITERAL ORIGIN SETTING 3986 006301 4772 JMS I PUNORG/[XPUTORG]// 3987 006302 1435 TAD I ORSYM/[XORSYM] /GET IT BACK IN CASE OF RELOCATION 3988 006303 3104 DCA LOCNTR /PUT IN LOCNTR FOR LISTING 3989 006304 3771 DCA I POLDLOC /PREVENT TESTPE PROBLEMS 3990 006305 1776 DMPZLP, TAD I ZPLPTR /\ 3991 006306 2376 ISZ ZPLPTR / \ 3992 006307 4444 JMS I PUTWD/[XPUTWD] / >DUMP THE LITERALS OUT 3993 006310 2355 ISZ REMSET / / 3994 006311 5305 JMP DMPZLP // 3995 006312 1377 DMPZXT, TAD ZPLRST /RESET 3996 006313 3773 DCA I PZPLND2 /ZPLEND 3997 006314 5653 JMP I DUMPZ /RETURN 3998 006315 0000 REMBER, .-. /LITERAL POINTER RESET ROUTINE 3999 006316 1771 TAD I POLDLOC /GET OLD PAGE BITS 4000 006317 4355 JMS REMSET /SET UP POINTER 4001 006320 1366 TAD DMP1 /GET CPLPTR RELIC 4002 006321 7041 CIA /INVERT 4003 006322 0136 AND L77/[77] /GET POSITIVE OFFSET 4004 006323 4534 JMS I ROR6/[XROR6] /MOVE DOWN 4005 006324 7010 RAR /TOO FAR DOWN IS ACTUALLY UP 4006 006325 3355 DCA REMSET /SAVE HIGH ORDER ENTRY 4007 006326 1764 TAD I ACPLEND /GET LIMIT VALUE 4008 006327 7040 CMA /INVERT IT 4009 006330 0136 AND L77/[77] /JUST POSITIVE OFFSET 4010 006331 1355 SLEZAP, TAD REMSET /PLUS OTHER ENTRY **** /E **** 7600 4011 006332 3774 DCA I REMPTR /INTO TABLE 4012 006333 1104 TAD LOCNTR /GET NEW PAGE BITS 4013 006334 4355 REMIND, JMS REMSET /SET UP POINTER 4014 006335 1774 TAD I REMPTR /GET ENTRY 4015 006336 7040 CMA /INVERT IT 4016 006337 0136 AND L77/[77] /JUST LIMIT HALF 4017 006340 1367 TAD MCPLBEG/(-CPLBEG) /ADJUST CONSTANT 4018 006341 3764 DCA I ACPLEND /PUT IN LIMIT VALUE 4019 006342 1774 TAD I REMPTR /GET ENTRY PAIR AGAIN 4020 006343 4534 JMS I ROR6/[XROR6] /MOVE DOWN 4021 006344 0136 AND L77/[77] /JUST POINTER ENTRY 4022 006345 1367 TAD MCPLBEG/(-CPLBEG) /ADD NEGATIVE CONSTANT TO NEGATIVE OFFSET 4023 006346 7041 CIA /INVERSION FIXES EVERYTHING 4024 006347 3365 DCA CPLPTR /PUT INTO POINTER 4025 006350 7201 NL0001 /\ 4026 006351 1365 TAD CPLPTR / \SET UP CPLBUF AS A FUNCTION 4027 006352 7141 CLL CIA / /OF NEW VALUE OF CPLPTR 4028 006353 3770 DCA I PCPLBUF // 4029 006354 5715 JMP I REMBER / 4030 4031 006355 0000 REMSET, .-. /TABLE SETUP ROUTINE 4032 006356 0123 AND L7600/[7600] /JUST PAGE BITS 4033 006357 4534 JMS I ROR6/[XROR6] /MOVE DOWN TO 4034 006360 7010 RAR /CREATE OFFSET 4035 006361 1375 TAD REMST /ADD ON TABLE BASE 4036 006362 3374 DCA REMPTR /STORE IN POINTER 4037 006363 5755 JMP I REMSET /RETURN 4038 4039 006364 5653 ACPLEND,CPLEND /**** RELOCATE **** 4040 006365 2000 CPLPTR, CPLBEG /CURRENT PAGE LITERAL POINTER 4041 006366 0000 DMP1, .-. /CPLPTR TEMPORARY FOR REMBER 4042 006367 6000 MCPLBEG,-CPLBEG /CURRENT PAGE LITERAL BEGINNING POINTER 4043 006370 5657 PCPLBUF,CPLBUF /**** RELOCATE **** 4044 006371 6054 POLDLOC,OLDLOC /**** RELOCATE **** 4045 006372 3016 PUNORG, XPUTORG /REAL PUTORG ROUTINE 4046 006373 5641 PZPLND2,ZPLEND /**** RELOCATE **** 4047 006374 0000 REMPTR, .-. /POINTER TO REMBER ENTRY 4048 006375 6151 REMST, REMTBL /**** RELOCATE **** 4049 006376 6600 ZPLPTR, ZPLBEG /**** RELOCATE **** 4050 006377 1360 ZPLRST, -ZPLBEG+160 /**** RELOCATE **** 4051 / LISTAPE ROUTINE. 4052 / P7CH ROUTINE COMES HERE WITH FULL ASCII CHARACTER IN AC. 4053 4054 /LTFROM,RELOC BINOUT /FOOL THE ASSEMBLER 4055 4056 /LTOUT, .-. /LISTAPE OUTPUT ROUTINE 4057 / AND L177 /JUST 7-BIT 4058 / SZA /? 4059 / TAD L7763 /? 4060 / SNA /SKIP IF NOT 4061 / JMP I LTOUT /YES, IGNORE 4062 / TAD L3 /? 4063 / SZA /SKIP IF YES 4064 / TAD L12 /RESTORE CHARACTER 4065 / AND L77 /JUST TO BE SURE 4066 / SNA /SKIP IF NORMAL 4067 / JMP LTEOL /GO DO 4068 / JMS LTSTORE /PUT AWAY CHARACTER 4069 / JMP I LTOUT /RETURN 4070 4071 /LTEOL, JMS LTSTORE /PUT IN 0 4072 / ISZ LTPTR /BUMP PAST 4073 / DCA I LTPTR /ZERO OUT IN CASE LAST 4074 / TAD LTLFT /RESET 4075 / DCA LTPUT /CO-ROUTINE 4076 / JMP I LTOUT /RETURN 4077 4078 /LTSTORE,.-. /STORE A CHARACTER ROUTINE 4079 / DCA LTEMP /SAVE TEMPORARILY 4080 / JMP I LTPUT /GO WHEREVER 4081 4082 /LTPUT, LTLEFT /LOW LEVEL ROUTINE 4083 / DCA I LTPTR /STORE WHATEVER 4084 / JMP I LTSTORE /RETURN TO CALLER 4085 /LTLEFT,TAD LTPTR /GET CURRENT POINTER VALUE 4086 / TAD LTLIM /COMPARE TO LIMIT 4087 /LSYSIO,SZA CLA /SKIP IF EQUAL 4088 / JMP LTOK /FORGET IT 4089 /LTRITE,JMS I LSYSIO /CALL I/O TO WRITE 4090 /LTBUFF,BINARY /FROM THIS BUFFER 4091 /LTLEN, 2^100 /**** 8K **** 4^100 + UNIT FROM /T 4092 /LTBLK, 7777 /**** /T **** INITIALIZED 4093 /LT8KZP,NL0002 /**** 8K **** TAD L4 4094 / TAD LTBLK /UPDATE BLOCK 4095 / DCA LTBLK /SAVE IT 4096 / TAD LTBUFF /RESET 4097 / DCA LTPTR /POINTER 4098 /LTOK, TAD LTEMP /GET PASSED CHARACTER 4099 / STL RTL /SHIFT LEFT 4100 / STL RTL /WITH APPROPRIATE 4101 / STL RTL /GARBAGE 4102 / JMS LTPUT /STORE IT 4103 / TAD I LTPTR /GET OLD CHARACTER 4104 / AND LT7700 /JUST OLD 6 BITS 4105 / TAD LTEMP /ADD ON LATEST 4106 / JMS LTPUT /STORE PAIR 4107 / ISZ LTPTR /BUMP TO NEXT PAIR 4108 / JMP LTLEFT /GO DO NEXT 4109 4110 /LTEOTP,LNEXT /POINTER TO WHERE TO GO NEXT 4111 / TAD LTEOTP /GET POINTER 4112 / DCA LTSTORE /SET IT UP 4113 / JMP LTRITE /CLOSE LAST BUFFER 4114 4115 /L7763, 7763 /CONSTANT 7763 4116 /LTEMP, .-. /CHARACTER TEMPORARY 4117 /LTLFT, LTLEFT /RESET VALUE 4118 /LT7700,7700 /LEFT MASK 4119 /LTPTR, BINARY /BUFFER POINTER 4120 /LTLIM, -BINARY-400 /**** 8K **** -BINARY-1000 4121 4122 / RELOC 4123 PAGE 4124 4125 / LITERAL CROSS-REFERENCE COMES HERE. 4126 4127 006400 7346 CRFLIT, NL7775 /SETUP LITERAL TYPE ENTRY 4128 006401 4614 JMS I QPUTREF /OUTPUT IT 4129 006402 1167 TAD Q /GET LITERAL'S ADDRESS 4130 006403 3215 DCA QTMP /SAVE IT 4131 006404 1135 TAD SVAL /GET LITERAL ITSELF IN ADDRESS FORM 4132 006405 4614 JMS I QPUTREF /OUTPUT IT 4133 006406 1615 TAD I QTMP /GET THE ACTUAL LITERAL VALUE 4134 006407 4614 JMS I QPUTREF /OUTPUT IT 4135 006410 4421 POP /DO THE 4136 006411 3124 DCA MRINDS /DISPLACED INSTRUCTIONS 4137 006412 5613 JMP I .+1 /NOW GO BACK 4138 006413 5673 SLQRLF, GOTZAP+4 /**** RELOCATE **** 4139 4140 006414 7466 QPUTREF,PUTREF /**** RELOCATE **** 4141 006415 0000 QTMP, .-. /TEMPORARY; SYSTEM UNIT BITS STORED HERE FOR SYSLOOK 4142 4143 006416 0000 SYSLOOK,.-. /ROUTINE TO LOOK UP SYSTEMS 4144 006417 1224 TAD SNMPT/(4^100) /GET FUNCTION 4145 006420 1215 TAD QTMP /ADD ON UNIT BITS 4146 006421 3224 DCA SNMPT /STORE BACK 4147 006422 4651 JMS I SSYSIO/(SYSIO) /CALL I/O ROUTINES 4148 006423 0200 SCATPTR,PAL /WHERE CATALOG GOES 4149 006424 0400 SNMPT, 4^100+.-. /READ FOUR BLOCKS; UNIT BITS FILLED IN 4150 006425 0063 SNMCT, SYSCAT /CATALOG BLOCK 4151 006426 7240 NL7777 /BACKUP 4152 006427 1223 TAD SCATPTR /NOW HAVE AUTO-INDEX POINTER 4153 006430 5235 JMP .+5 /GO INTO IT 4154 4155 006431 1225 SAGAIN, TAD SNMCT /GET CURRENT COUNT 4156 006432 7040 CMA /INVERT 4157 006433 1014 TAD TXR /ADD ON POINTER 4158 006434 1060 TAD L3/[3] /AND ENTRY OFFSET 4159 006435 3014 DCA TXR /NOW POINTS TO NEXT ENTRY 4160 006436 1216 TAD SYSLOOK /POINT TO 4161 006437 3224 DCA SNMPT /SEARCH ARGUMENT 4162 006440 7346 NL7775 /SET FOR 4163 006441 3225 DCA SNMCT /THREE WORDS 4164 006442 1414 TAD I TXR /FETCH FIRST WORD OF NAME 4165 006443 7450 SNA /SKIP IF ITS GOOD 4166 006444 5305 JMP NOSYS /JUMP IF END OF CATALOG 4167 006445 7410 SKP /SKIP DOING ANOTHER FETCH 4168 006446 1414 SCOMPR, TAD I TXR /FETCH A CATALOG WORD 4169 006447 7041 CIA /COMPLEMENT IT 4170 006450 1624 TAD I SNMPT /ADD ON A SEARCH ARG WORD 4171 006451 7640 SSYSIO, SZA CLA /SKIP IF EQUAL 4172 006452 5231 JMP SAGAIN /GO TRY NEXT ENTRY 4173 006453 2224 ISZ SNMPT /BUMP SEARCH ARGUMENT POINTER 4174 006454 2225 ISZ SNMCT /BUMP COUNT 4175 006455 5246 JMP SCOMPR /JUMP IF MORE TO DO 4176 006456 1414 TAD I TXR /FETCH STARTING BLOCK 4177 006457 3777 DCA I (SBLOCK) /STASH IN SYSTEM LOADER 4178 006460 1414 TAD I TXR /FETCH LOAD/LENGTH WORD 4179 006461 3314 DCA PRTRIM /SAVE IT 4180 006462 1314 TAD PRTRIM /RECOVER WORD 4181 006463 0123 AND L7600/[7600] /GET LOADING PAGE BITS 4182 006464 3776 DCA I (SCORE) /SAVE IN SYSTEM LOADER 4183 006465 1314 TAD PRTRIM /GET BACK WORD 4184 006466 4534 JMS I ROR6/[XROR6] /SHIFT IT AROUND 4185 006467 0123 AND L7600/[7600] /JUST LENGTH BITS 4186 006470 7110 CLL RAR /PUT IN POSITION 4187 006471 1215 TAD QTMP /ADD ON UNIT BITS 4188 006472 3775 DCA I (SFUN) /SAVE IN SYSTEM LOADER 4189 006473 1414 TAD I TXR /GET STARTING ADDRESS 4190 006474 0123 AND L7600/[7600] /JUST PAGE BITS 4191 006475 7001 IAC /ADD ON CHAIN OFFSET 4192 006476 3774 DCA I (SYSTART) /SAVE FOR SYSTEM LOADER 4193 006477 1373 TAD (SLOAD) /TELL ASSEMBLER 4194 006500 3772 DCA I (LNEXT) /TO CHAIN TO SYSTEM 4195 006501 5624 JMP I SNMPT /AND RETURN TO CALLER 4196 4197 006502 1371 PRNTFND,TAD (NFMSG) /SETUP FOR 4198 006503 3216 DCA SYSLOOK /NEXT MESSAGE 4199 006504 3320 DCA TRMZAP /BOOTSTRAP NEXT TIME 4200 006505 1616 NOSYS, TAD I SYSLOOK /\ 4201 006506 4534 JMS I ROR6/[XROR6] / >PRINT HIGH ORDER 4202 006507 4314 JMS PRTRIM // 4203 006510 1616 TAD I SYSLOOK /PRINT 4204 006511 4314 JMS PRTRIM /LOW ORDER 4205 006512 2216 ISZ SYSLOOK /BUMP TO NEXT PAIR 4206 006513 5305 JMP NOSYS /GO BACK FOR MORE 4207 4208 006514 0000 PRTRIM, .-. /PRINT A CHARACTER ROUTINE 4209 006515 0136 AND L77/[77] /JUST SIX-BIT 4210 006516 7440 SZA /END OF LIST? 4211 006517 5322 JMP TRIMOK /NO, GO PRINT IT 4212 006520 5302 TRMZAP, JMP PRNTFND /YES, GO DO NEXT **** SECOND MESSAGE **** 0000 4213 006521 5523 JMP I L7600/[SBOOT] /BYE, BYE! 4214 4215 006522 4446 TRIMOK, JMS I P6CH/[XP6CH] /PRINT IT 4216 006523 5714 JMP I PRTRIM /RETURN 4217 / LINC MODE REPLACEMENT LIST. 4218 4219 006524 0000 LNCLST, 0 /**** /8 OR /9 **** LMZAPA 4220 006525 5731 LMZAPB&177+JMPIC /"JMP I LMZAPB" 4221 006526 3731 LMZAPB /CHECK MODE BEFORE STARTING PASS 1 4222 006527 7232 LNCRL1, LMLODE /**** RELOCATE **** 4223 006530 3732 SLDCNT; -2 /LOAD BOTH TABLES 006531 7776 4224 006532 3743 LMVCNT; -600-1 /MOVE DOWN LMODE, PMODE CODE 006533 7177 4225 006534 3524 LMZAPZ; LMZAPY&177+JMPIC/"JMP I LMZAPY" 006535 5770 4226 006536 3570 LMZAPY /FINALIZE SYMBOL TABLE AT END OF EACH PASS 4227 006537 7240 LNCRL2, LMFIX /**** RELOCATE **** 4228 006540 2061 LMZAP8; LMZAP9&177+JMPIC/"JMP I LMZAP9" 006541 5662 4229 006542 2062 LMZAP9 /INTERCEPT AND MODIFY LMODE SYMBOL VALUES 4230 006543 7122 LNCRL3, LNCSYM /**** RELOCATE **** 4231 006544 0611 LMZAP6; LMZAP7&177+JMPIC/"JMP I LMZAP7" 006545 5612 4232 006546 0612 LMZAP7 /INTERCEPT ORIGIN SETTINGS 4233 006547 7156 LNCRL4, LMORG /**** RELOCATE **** 4234 006550 4332 PNWST1 /CHECK MODE BEFORE STARTING PASS 2 4235 006551 7232 LNCRL5, LMLODE /**** RELOCATE **** 4236 006552 1377 LMFXTAB /MAKE FIXTAB FIX LMODE, PMODE TABLES 4237 006553 7007 LNCRL7, LMFXTB /**** RELOCATE **** 4238 006554 1034 "\&77+XTRATAB /ENABLE "\" OPERATOR 4239 006555 7212 LNCRL8, BKSLSH /**** RELOCATE **** 4240 006556 4351 SL9ZAP, LNCORG; 4020 /**** /8 **** 0000 006557 4020 4241 006560 4353 LNORG2; 4020 /USE LMODE 006561 4020 4242 006562 0104 LOCNTR; 4020 /ORIGINS 006563 4020 4243 006564 0000 0 /THIS ENDS THE LIST 4244 4245 006571 5312 PAGE 006572 2774 006573 7632 006574 7637 006575 7634 006576 7633 006577 7635 4246 / THE LAST 160 LOCATIONS OF THIS PAGE ARE USED FOR PAGE ZERO LITERALS. 4247 4248 ZPLBEG= . /PREVIOUS PAGE CONTAINS PAGE ZERO LITERALS 4249 4250 LNCODE= . /START OF LINC MODE STUFF 4251 4252 / LINC MODE MRI'S ARE HANDLED HERE. 4253 4254 006600 3124 LNCMRI, DCA MRINDS /NO PAGE BITS IN LINC MODE! 4255 006601 4430 JMS I EXPR/[XEXPR] /GET THE ARGUMENT 4256 006602 0011 MODIF1, PREP-LREP /INTER-REPLACEMENT TABLE OFFSET 4257 006603 5604 JMP I .+1/(MRILNC) /BACK TO THE MRI PROCESSOR 4258 006604 1327 MRILNC /THROUGH HERE 4259 4260 006605 0000 CHKMODE,.-. /MODE CHECK ROUTINE 4261 006606 1004 TAD MODE /ADD ON CURRENT MODE 4262 006607 7450 SNA /SKIP IF DIFFERENT 4263 006610 5605 JMP I CHKMODE /JUMP IF SAME 4264 006611 1004 TAD MODE /CANCEL OLD MODE 4265 006612 3004 DCA MODE /SAVE NEW MODE 4266 006613 1004 TAD MODE /GET LATEST MODE 4267 006614 7650 SNA CLA /SKIP IF LMODE 4268 006615 1202 TAD MODIF1/(PREP-LREP) /USE PMODE 4269 006616 1355 TAD MODTBL /ADD ON REPLACEMENT BASE 4270 006617 3013 DCA SXR /STASH AS REPLACEMENT POINTER 4271 006620 1354 TAD RPADR /SETUP 4272 006621 3014 DCA TXR /REPLACEMENT ADDRESS POINTER 4273 006622 1414 TAD I TXR /GET AN ADDRESS 4274 006623 7450 SNA /END OF LIST? 4275 006624 5231 JMP MODMORE /YES, GO FIX TABLES 4276 006625 3111 DCA NM1 /NO, SAVE IT 4277 006626 1413 TAD I SXR /GET A REPLACEMENT VALUE 4278 006627 3511 DCA I NM1 /ZAP IT IN 4279 006630 5222 JMP .-6 /GO DO ANOTHER ONE 4280 006631 1004 MODMORE,TAD MODE /GET CURRENT MODE 4281 006632 7650 SNA CLA /SKIP IF LMODE 4282 006633 1357 TAD MODIF2/(PTABLE-LTABLE) /USE PMODE VALUE 4283 006634 1356 TAD MLTABLE /ADD ON SYMBOL BASE 4284 006635 3360 DCA FROMPTR /STASH IT 4285 006636 1004 TAD MODE /GET MODE AGAIN 4286 006637 7640 SZA CLA /SKIP IF PMODE 4287 006640 1357 TAD MODIF2 /USE PMODE BASE AS ALTER EGO 4288 006641 1356 TAD MLTABLE /ADD ON SYMBOL BASE 4289 006642 3361 DCA TOPTR /STASH IT 4290 006643 1360 MODLUP, TAD FROMPTR /GET NEW MODE POINTER 4291 006644 3013 DCA SXR /SETUP AUTOINDEX REGISTER 4292 006645 1760 TAD I FROMPTR /GET A PAIR 4293 006646 7450 SNA /END OF LIST? 4294 006647 5605 JMP I CHKMODE /YES, WE'RE DONE 4295 006650 0071 AND L1777/[1777] /JUST SYMBOL BITS 4296 006651 3111 DCA NM1 /STASH IT IN STRIPPED FORM 4297 006652 7350 NL3777 /SETUP SYMBOL MASK 4298 006653 0413 AND I SXR /NOW HAVE SECOND PAIR 4299 006654 3112 DCA NM2 /STASH IT 4300 006655 7350 NL3777 /SETUP SYMBOL MASK 4301 006656 0413 AND I SXR /GET THIRD PAIR 4302 006657 3113 DCA NM3 /STASH IT 4303 006660 7240 NL7777 /SETUP 4304 006661 3364 DCA INITSW /MASK SWITCH 4305 006662 1066 TAD L7774/[-4] /\ 4306 006663 3362 DCA MCNT / \SETUP THE 4307 006664 1066 TAD L7774/[-4] / /SYMBOL COUNTS 4308 006665 3363 DCA MCNT2 // 4309 006666 1767 TAD I PINXIT/(INXIT) /\ 4310 006667 4420 PUSH / \SAVE PREVIOUS 4311 006670 1770 TAD I PCRZPA/(CRZAPA) / /TRAPPED CODE 4312 006671 4420 PUSH // 4313 006672 1366 TAD LORIG1/(AND L6000) /\ 4314 006673 3767 DCA I PINXIT/(INXIT) / \RESTORE THE 4315 006674 1305 TAD LORIG2/(CDF 00) / /ORIGINAL CODE 4316 006675 3770 DCA I PCRZPA/(CRZAPA) // 4317 006676 7240 NL7777 /INDICATE "NON-ENTER" MODE 4318 006677 4403 JMS I INSYM/[INSM] /LOOKUP THE LATEST SYMBOL 4319 006700 4421 POP /\ 4320 006701 3770 DCA I PCRZPA/(CRZAPA) / \RESTORE THE 4321 006702 4421 POP / /TRAPPED CODE 4322 006703 3767 DCA I PINXIT/(INXIT) // 4323 006704 4450 JMS I SETSYM/[XSETSM] /SETUP THE SYMBOL POINTERS 4324 006705 6201 LORIG2, CDF 00 /BUT NOT THE DATA FIELD 4325 006706 1125 MLOOP, TAD NMFLGS /GET SYMBOL'S FLAGS 4326 006707 7650 SNA CLA /SKIP IF DEFINED 4327 006710 5347 JMP NOTHERE /JUMP IF NOT DEFINED 4328 006711 1760 TAD I FROMPTR /GET NEW ELEMENT 4329 006712 3111 DCA NM1 /SAVE IT 4330 006713 4452 JMS I SETFLD/[XSTFLD] /SET CORRECT DATA FIELD 4331 006714 1013 TAD SXR /GET CURRENT POINTER 4332 006715 3014 DCA TXR /SAVE IT 4333 006716 1413 TAD I SXR /GET A WORD 4334 006717 3112 DCA NM2 /SAVE IT 4335 006720 2363 ISZ MCNT2 /DOING VALUE WORD? 4336 006721 7410 SKP /SKIP IF NOT 4337 006722 5340 JMP MNOFIX /JUMP IF SO 4338 006723 2364 ISZ INITSW /FIRST TIME? 4339 006724 7410 SKP /SKIP IF NOT 4340 006725 7330 NL4000 /INITIALIZE MASK TO 1777 4341 006726 7150 CLL CMA RAR /NOW HAVE 1777 OR 3777 IF SECONDARY 4342 006727 3365 DCA LMASK /SAVE MASK 4343 006730 1365 TAD LMASK /GET IT BACK 4344 006731 7040 CMA /NEED INVERTED FORM HERE 4345 006732 0112 AND NM2 /GET LATEST BITS 4346 006733 3113 DCA NM3 /SAVE THEM 4347 006734 1365 TAD LMASK /GET LASTEST SYMBOL MASK 4348 006735 0111 AND NM1 /STRIP BITS FROM NEW MODE'S VALUE 4349 006736 1113 TAD NM3 /USE CURRENT BITS VALUE 4350 006737 3111 DCA NM1 /SAVE ADJUSTED VALUE 4351 006740 1111 MNOFIX, TAD NM1 /GET NEW MODE VALUE AFTER POSSIBLE ADJUSTMENT 4352 006741 3414 DCA I TXR /STASH IN MAIN TABLE 4353 006742 6201 CDF 00 /BACK TO FIELD 0 4354 006743 1111 TAD NM1 /GET ORIGINAL VALUE (ADJUSTED) 4355 006744 3760 DCA I FROMPTR /STORE IT BACK IN CASE IT CHANGED 4356 006745 1112 TAD NM2 /GET LATEST OLD VALUE 4357 006746 3761 DCA I TOPTR /STORE IN OLD MODE TABLE 4358 006747 2360 NOTHERE,ISZ FROMPTR /BUMP TO NEXT 4359 006750 2361 ISZ TOPTR /BUMP TO NEXT 4360 006751 2362 ISZ MCNT /DONE WHOLE SYMBOL? 4361 006752 5306 JMP MLOOP /NO, GO DO ANOTHER WORD 4362 006753 5243 JMP MODLUP /YES, GO GET ANOTHER SYMBOL 4363 4364 006754 6770 RPADR, REPADR-1 /**** RELOCATE **** 4365 006755 7167 MODTBL, LREP-1 /**** RELOCATE **** 4366 006756 7322 MLTABLE,LTABLE /**** RELOCATE **** 4367 006757 7743 MODIF2, PTABLE-LTABLE /INTER-SYMBOL TABLE OFFSET 4368 006760 0000 FROMPTR,.-. /FROM TABLE POINTER 4369 006761 0000 TOPTR, .-. /TO TABLE POINTER 4370 006762 0000 MCNT, .-. /SYMBOL COUNTER 4371 006763 0000 MCNT2, .-. /AUXILARY SYMBOL COUNTER 4372 006764 0000 INITSW, .-. /INITIAL MASK SWITCH 4373 006765 0000 LMASK, .-. /SYMBOL MASK 4374 006766 0010 LORIG1, AND L6000/[6000] /ORIGINAL CONTENTS OF INXIT 4375 006767 2057 PINXIT, INXIT /WHERE IT WAS 4376 006770 2060 PCRZPA, CRZAPA /POINTER TO DISPLACED INSTRUCTION 4377 / LMODE/PMODE ADDRESS LIST. 4378 4379 006771 1300 REPADR, LMZAP1 /MRI 4380 006772 1301 LMZAP2 /ZAPS 4381 006773 1334 LMZAP4 /MRI MASK ADDRESS 4382 006774 0474 LMZAP3 /ADD ZAP ADDRESS 4383 006775 0500 XSUB /SUBTRACT ZAP ADDRESS 4384 006776 0146 IBIT /I VALUE ADDRESS 4385 006777 2754 LMZAPJ /DTERR MASK 4386 007000 0433 LMZAPL /ASIGN INVERT 4387 007001 1547 LMZAP5 /POINT MASK 4388 007002 0000 0 /THIS ENDS THE LIST 4389 4390 007003 7324 MLTAB2, LTABLE+2 /**** RELOCATE **** 4391 007004 7771 CNTSYMS,-7 /NUMBER OF INTERNAL SYMBOLS PER TABLE 4392 007005 7743 MODIFF, PTABLE-LTABLE /INTER-TABLE OFFSET 4393 007006 4230 PXFXT2, XFXT2 /POINTER TO MAIN FIXTAB ROUTINE 4394 4395 / COMES HERE TO "FIXTAB" LMODE, PMODE TABLES BEFORE MAIN SYMBOL TABLE. 4396 4397 007007 7240 LMFXTB, NL7777 /SETUP THE 4398 007010 3113 DCA NM3 /SWITCH 4399 007011 1203 FXLOOP, TAD MLTAB2 /CALCULATE TABLE ADDRESS 4400 007012 3111 DCA NM1 /STASH POINTER 4401 007013 1204 TAD CNTSYMS/(-7) /SETUP THE SYMBOL 4402 007014 3112 DCA NM2 /LENGTH COUNTER 4403 007015 1511 FXLUP2, TAD I NM1 /GET A WORD 4404 007016 7004 RAL /FIX BIT TO LINK 4405 007017 7130 STL RAR /FORCE IT ON 4406 007020 3511 DCA I NM1 /STORE IT BACK 4407 007021 1111 TAD NM1 /\ 4408 007022 1100 TAD L4/[4] / >UPDATE TO NEXT SYMBOL 4409 007023 3111 DCA NM1 // 4410 007024 2112 ISZ NM2 /DONE ALL SYMBOLS? 4411 007025 5215 JMP FXLUP2 /NO, GO BACK FOR MORE 4412 007026 2113 ISZ NM3 /DONE BOTH TABLES? 4413 007027 5606 JMP I PXFXT2/(XFXT2) /YES 4414 007030 1205 TAD MODIFF/(PTABLE-LTABLE) /NO, GET INTER-TABLE OFFSET 4415 007031 5211 JMP FXLOOP /GO DO OTHER TABLE 4416 / COMES HERE FROM "ASMIFN", "ASMIFZ", "ASMIFM" WITH APPROPRIATE AC CONTENTS. 4417 4418 007032 3236 ASMCOM, DCA ASSTM2 /STORE IN-LINE FOR TEST LATER 4419 007033 4430 JMS I EXPR/[XEXPR] /GET ARGUMENT 4420 007034 5441 JMP I PSDRET/[XPSDRET]/WASN'T ANY 4421 007035 1076 TAD RESULT /GET RESULT 4422 007036 0000 ASSTM2, .-. /SKIP AS APPROPRIATE 4423 007037 5441 JMP I PSDRET/[XPSDRET]/FORGET IT 4424 007040 7344 NL7776 /SETUP FOR "ASMSKP 1" 4425 007041 5250 JMP ASSYIN /CONTINUE THERE 4426 4427 / COMES HERE FROM "ASMSKP". 4428 4429 007042 4430 SKIPAS, JMS I EXPR/XEXPR] /GET ARGUMENT 4430 007043 5441 JMP I PSDRET/[XPSDRET]/WASN'T ANY 4431 007044 1076 TAD RESULT /GET RESULTS OF ARGUMENT SCAN 4432 007045 7450 SNA /ZERO VALUE? 4433 007046 5441 JMP I PSDRET/[XPSDRET]/YES, FORGET IT 4434 007047 7040 CMA /INVERT 4435 007050 3321 ASSYIN, DCA ASSTMP /SAVE IN ONE'S COMPLEMENT FORM 4436 007051 1073 TAD CHAR /GET DELIMITER 4437 007052 7650 SNA CLA /SKIP IF NOT 4438 007053 2321 ISZ ASSTMP /BUMP IF TO DO ONE LESS 4439 007054 2121 ISZ FLSHSW /INDICATE CONDITIONALS IN PROGRESS 4440 007055 4440 JMS I PRTBUF/[XPRTBF] /DUMP THE BUFFER NOW 4441 007056 4431 JMS I GCH/[XGCH] /GET A CHARACTER 4442 007057 7640 SZA CLA /SKIP IF 4443 007060 5256 JMP .-2 /THROW IT AWAY 4444 007061 4440 JMS I PRTBUF/[XPRTBF] /PRINT OUT A BUFFER'S WORTH 4445 007062 2321 ISZ ASSTMP /DONE ENOUGH? 4446 007063 5256 JMP .-5 /NO, GO BACK 4447 007064 3121 DCA FLSHSW /TURN OFF CONDITIONAL SWITCH 4448 007065 5666 JMP I .+1/(CONDIN) /NOW CONTINUE 4449 007066 3517 CONDIN /THERE 4450 / "SEGMNT" PSEUDO-OP COMES HERE. 4451 4452 007067 4430 SEGMENT,JMS I EXPR/[XEXPR] /GET ARGUMENT IF ANY 4453 007070 5307 JMP ANEWSEG /WASN'T ANY 4454 007071 1076 TAD RESULT /GET VALUE 4455 007072 7112 CLL RTR /MOVE DOWN FIELD BITS 4456 007073 0136 AND L77/[77] /ISOLATE FIELD 4457 007074 3434 DCA I OPVAL/[XOPVAL] /SAVE IT 4458 007075 1143 TAD CURFLD /GET CURRENT FIELD 4459 007076 7041 CIA /INVERT FOR TEST 4460 007077 1434 TAD I OPVAL/[XOPVAL] /COMPARE TO DESIRED FIELD 4461 007100 7640 SZA CLA /SKIP IF SAME 4462 007101 4720 JMS I PPUNFLD/(PUNFLD)/OUTPUT NEW FIELD SETTING 4463 007102 1076 TAD RESULT /GET VALUE 4464 007103 7110 CLL RAR;RTR /MOVE PAGE BITS DOWN 007104 7012 4465 007105 0010 AND L6000/[6000] /JUST MEMORY QUARTER BITS 4466 007106 5563 JMP I PPAGMOR/[PAGMOR]/FINISH THERE 4467 4468 007107 7100 ANEWSEG,CLL /CLEAN UP 4469 007110 1104 TAD LOCNTR /GET CURRENT LOCATION 4470 007111 1071 TAD L1777/[1777] /ADVANCE TO NEXT SEGMENT 4471 007112 0010 AND L6000/[6000] /JUST MEMORY QUARTER BITS 4472 007113 7004 RAL /START MOVING BACK 4473 007114 1143 TAD CURFLD /ADD ON CURRENT FIELD 4474 007115 7006 RTL /NOW HAVE NEXT SEGMENT 4475 007116 3076 DCA RESULT /SAVE IT 4476 007117 5271 JMP SEGMENT+2 /KEEP GOING 4477 4478 007120 0637 PPUNFLD,PUNFLD /POINTER TO FIELD SETTING PUNCH ROUTINE 4479 007121 0000 ASSTMP, .-. /TEMPORARY 4480 / SYMBOL HANDLING IS INTERCEPTED HERE. 4481 4482 007122 3125 LNCSYM, DCA NMFLGS /DO DISPLACED INSTRUCTION 4483 007123 1111 TAD NM1 /GET FIRST SYMBOL PAIR 4484 007124 7650 SNA CLA /SKIP IF ACTUALLY A SYMBOL 4485 007125 5353 JMP NOTSYM /FORGET IT! 4486 007126 4450 JMS I SETSYM/[XSETSM] /SETUP SYMBOL 4487 007127 0413 AND I SXR /BUMP TO 4488 007130 0413 AND I SXR /COMMA WORD 4489 007131 1004 TAD MODE /GET CURRENT MODE 4490 007132 0413 AND I SXR /NOW HAVE COMMA AND LMODE 4491 007133 7650 SNA CLA /SKIP IF BOTH SET 4492 007134 5351 JMP NORMSYM /JUMP IF EITHER OR BOTH OFF 4493 007135 1104 TAD LOCNTR /GET CURRENT 4494 007136 0010 AND L6000/[6000] /JUST SEGMENT BITS 4495 007137 7041 CIA /COMPARE CURRENT 4496 007140 1135 TAD SVAL /WITH SYMBOL 4497 007141 0010 AND L6000/[6000] /JUST SEGMENT BITS 4498 007142 7640 SZA CLA /SKIP IF EQUAL 4499 007143 7332 NL2000 /SET DATA FIELD BIT IF DIFFERENT 4500 007144 3321 DCA ASSTMP /SAVE FINAL DATA FIELD BIT VALUE 4501 007145 1135 TAD SVAL /GET CURRENT SYMBOL 4502 007146 0071 AND L1777/[1777] /JUST 10-BIT VALUE 4503 007147 1321 TAD ASSTMP /MAYBE DATA FIELD BIT 4504 007150 3135 DCA SVAL /SAVE IT BACK 4505 007151 6201 NORMSYM,CDF 00 /BACK TO FIELD 0 4506 007152 0413 AND I SXR /RESTORE SXR TO ORIGINAL VALUE 4507 007153 1403 NOTSYM, TAD I INSYM/[INSM] /GET CALLER 4508 007154 3321 DCA ASSTMP /SET IT UP 4509 007155 5721 JMP I ASSTMP /RETURN TO CALLER 4510 4511 / LMODE ORIGIN HANDLING COMES HERE. 4512 4513 007156 1004 LMORG, TAD MODE /GET CURRENT MODE 4514 007157 7650 SNA CLA /SKIP IF LINC MODE 4515 007160 5366 JMP FULLORG /JUMP IF PMODE 4516 007161 1076 TAD RESULT /GET ARGUMENT 4517 007162 0010 AND L6000/[6000] /JUST SEGMENT BITS 4518 007163 7650 SNA CLA /SKIP IF A NEW SEGMENT 4519 007164 1104 TAD LOCNTR /ELSE USE OLD SEGMENT 4520 007165 0010 AND L6000/[6000] /ONLY USE SEGMENT BITS (IF EVEN THAT MUCH!) 4521 007166 1076 FULLORG,TAD RESULT /ADD ON LATEST 4522 007167 5563 JMP I PPAGMOR/[PAGMOR]/FINISH THERE 4523 007170 5701 LREP, LMZAP2&177+JMPIC /"JMP I LMZAP2" 4524 007171 6600 LNCRL6, LNCMRI /**** RELOCATE **** 4525 007172 0071 AND L1777/[1777] /MASK TO 10 BITS 4526 007173 7430 SZL /CHECK FOR END AROUND CARRY 4527 007174 7040 CMA /USE ONE'S COMPLEMENT 4528 007175 0020 20 /USE 20 FOR I 4529 007176 0071 AND L1777/[1777] /USE 10 BIT MASK 4530 007177 7040 CMA /USE ONE'S COMPLEMENT 4531 007200 0071 AND L1777/[1777] /USE 10 BIT MASK 4532 4533 007201 1054 PREP, TAD L200/[200] /USE CURRENT PAGE 4534 007202 3124 DCA MRINDS /BY DEFAULT 4535 007203 0047 AND L177/[177] /MASK TO 7 BITS 4536 007204 7410 SKP /NO END AROUND CARRY 4537 007205 7041 CIA /USE TWO'S COMPLEMENT 4538 007206 0400 400 /USE 400 FOR I 4539 007207 7000 NOP /USE 12 BIT MASK 4540 007210 7041 CIA /USE TWO'S COMPLEMENT 4541 007211 7000 NOP /USE 12 BIT MASK 4542 4543 / BACKSLASH "\" OPERATOR. 4544 4545 007212 1215 BKSLSH, TAD ABCKSL /GET "\" ADDRESS 4546 007213 5614 JMP I .+1/(UPARRX+1) /CONTINUE THERE 4547 007214 0406 UPARRX+1 /THROUGH HERE 4548 4549 007215 7217 ABCKSL, BCKSL /**** RELOCATE **** 4550 007216 6605 LCHKMOD,CHKMODE /**** RELOCATE **** 4551 4552 007217 3135 BCKSL, DCA SVAL /SAVE LATEST TERM 4553 007220 1076 TAD RESULT /X 0 1 2 3 4 5 6 7 8 9 10 11 4554 007221 7110 CLL RAR /11 X 0 1 2 3 4 5 6 7 8 9 10 4555 007222 7012 RTR /9 10 11 X 0 1 2 3 4 5 6 7 8 4556 007223 3025 DCA TMP /SAVE IT 4557 007224 1025 TAD TMP /GET IT BACK 4558 007225 0071 AND L1777/[1777] /9 X X X 0 1 2 3 4 5 6 7 8 4559 007226 1025 TAD TMP /9 10 11 0 1 2 3 4 5 6 7 8 X 4560 007227 7010 RAR /X 9 10 11 0 1 2 3 4 5 6 7 8 4561 007230 5631 JMP I .+1/(XBCKIN) /CONTINUE THERE 4562 007231 0540 XBCKIN /THROUGH HERE 4563 / COMES HERE TO SETUP FINAL MODE AFTER LOADING THE SYMBOL TABLE. 4564 / ALSO COMES HERE BEFORE OPTIONALLY STARTING UP THE SECOND PASS. 4565 4566 007232 1637 LMLODE, TAD I LMSWY9/(SWY9) /GET SWITCHES /Y-/9 4567 007233 7012 RTR /8 TO LINK 4568 007234 7230 CLA CML RAR /4000 IF /8 OFF, 0 IF /8 ON 4569 007235 4616 JMS I LCHKMODE/(CHKMODE) /CHECK IF LMODE NEEDED HERE 4570 007236 5573 JMP I XNWSTM/[NEWSTM] /NOW START UP A PASS 4571 4572 007237 7606 LMSWY9, SWY9 /POINTER TO /Y-/9 4573 4574 / COMES HERE AFTER END OF A PASS TO REVERSE MODES. 4575 / THIS FREEZES THE MAIN SYMBOL TABLE IN CASE /S IS SPECIFIED. 4576 4577 007240 7330 LMFIX, NL4000 /GET REVERSING BIT 4578 007241 1004 TAD MODE /ADD ON CURRENT MODE 4579 007242 4616 JMS I LCHKMODE/(CHKMODE) /THIS WILL REVERSE MODES 4580 007243 7330 NL4000 /GET REVERSING BIT 4581 007244 1004 TAD MODE /ADD ON CURRENT MODE 4582 007245 4616 JMS I LCHKMODE/(CHKMODE) /THIS WILL PUT IT BACK 4583 007246 1637 TAD I LMSWY9/(SWY9) /GET SWITCHES /Y-/9 4584 007247 7012 RTR /8 TO LINK 4585 007250 7230 CLA CML RAR /4000 IF /8 OFF, 0 IF /8 ON 4586 007251 4616 JMS I LCHKMODE/(CHKMODE) /CHECK IF LMODE NEEDED HERE 4587 007252 5653 JMP I .+1/(EOFZAP) /NOW CONTINUE 4588 007253 3541 EOFZAP /THROUGH HERE 4589 4590 / PMODE COMES HERE WITH AC=0000. 4591 / LMODE COMES HERE WITH AC=4000. 4592 4593 007254 4616 PLMODE, JMS I LCHKMODE/(CHKMODE) /CHECK IF CHANGE REQUIRED 4594 007255 5441 JMP I PSDRET/[XPSDRET] /RETURN 4595 4596 / CONTINUATION OF "DTORG" PSEUDO-OP. 4597 4598 007256 4430 XDTOR2, JMS I EXPR/[XEXPR] /GET THE ARGUMENT (IF ANY) 4599 007257 7000 NOP /DON'T CARE 4600 007260 1076 TAD RESULT /GET RESULT OF SCAN 4601 007261 3434 DCA I OPVAL/[XOPVAL] /SETUP PUTFLD ROUTINE 4602 007262 1076 TAD RESULT /GET THE RESULT BACK AGAIN 4603 007263 4442 JMS I PUTFLD/[XPUTFLD] /OUTPUT IT 4604 007264 5441 JMP I PSDRET/[XPSDRET] /RETURN 4605 / PMODE COPY OF ANOMALOUS SYMBOLS. 4606 4607 007265 2464 PTABLE, "H-300^45+"L-300+NFLAG /HLT 4608 007266 5344 "T-300^45+PFLAG 4609 007267 0000 0000 4610 007270 7402 HLT /PMODE HLT 4611 / "I-300^45+SFLAG /I 4612 / PFLAG 4613 / 0000 4614 / EYE 4615 007271 4577 "J-300^45+"M-300+MFLAG /JMP 4616 007272 4020 "P-300+PFLAG 4617 007273 0000 0000 4618 007274 5000 JMP 0000 /PMODE JMP 4619 007275 3025 "N-300^45+"O-300+NFLAG /NOP 4620 007276 5120 "P-300^45+PFLAG 4621 007277 0000 0000 4622 007300 7000 NOP /PMODE NOP 4623 007301 3073 "O-300^45+"P-300+NFLAG /OPR 4624 007302 5232 "R-300^45+PFLAG 4625 007303 0000 0000 4626 007304 7000 OPR /PMODE OPR 4627 007305 3300 "S-300^45+"A-300+NFLAG /SAM 4628 007306 4015 "M-300+PFLAG 4629 007307 0000 0000 4630 007310 7457 SAM /PMODE SAM 4631 007311 3312 "S-300^45+"K-300+NFLAG /SKP 4632 007312 4015 "M-300+PFLAG 4633 007313 0000 0000 4634 007314 7410 SKP /PMODE SKP 4635 007315 3323 "S-300^45+"T-300+NFLAG /STA 4636 007316 4045 "A-300^45+PFLAG 4637 007317 0000 0000 4638 007320 7240 NL7777 /PMODE STA 4639 4640 007321 0000 0000 /THIS ENDS THE LIST 4641 / LMODE COPY OF ANOMALOUS SYMBOLS. 4642 4643 007322 2464 LTABLE, "H-300^45+"L-300+NFLAG /HLT 4644 007323 5344 "T-300^45+PFLAG 4645 007324 0000 0000 4646 007325 0000 0000 /LMODE HLT 4647 / "I-300^45+SFLAG /I 4648 / PFLAG 4649 / 0000 4650 / EYE 4651 007326 4577 "J-300^45+"M-300+MFLAG /JMP 4652 007327 5120 "P-300^45+PFLAG 4653 007330 0000 0000 4654 007331 6000 6000 /LMODE JMP 4655 007332 3025 "N-300^45+"O-300+NFLAG /NOP 4656 007333 5120 "P-300^45+PFLAG 4657 007334 0000 0000 4658 007335 0016 0016 /LMODE NOP 4659 007336 3073 "O-300^45+"P-300+NFLAG /OPR 4660 007337 5232 "R-300^45+PFLAG 4661 007340 0000 0000 4662 007341 0500 0500 /LMODE OPR 4663 007342 3300 "S-300^45+"A-300+NFLAG /SAM 4664 007343 4741 "M-300^45+PFLAG 4665 007344 0000 0000 4666 007345 0100 0100 /LMODE SAM 4667 007346 3312 "S-300^45+"K-300+NFLAG /SKP 4668 007347 5120 "P-300^45+PFLAG 4669 007350 0000 0000 4670 007351 0466 0466 /LMODE SKP 4671 007352 3323 "S-300^45+"T-300+NFLAG /STA 4672 007353 4045 "A-300^45+PFLAG 4673 007354 0000 0000 4674 007355 1040 1040 /LMODE STA 4675 4676 007356 0000 0000 /THIS ENDS THE LIST 4677 PAGE 4678 4679 EXCODE= . /X CODE HERE 4680 4681 / INXIT COMES HERE WITH NMFLGS IN AC, SXR POINTING TO VALUE WORD, 4682 / SYMBOL'S DATA FIELD SET. 4683 4684 007400 0010 CREFSYM,AND L6000/[6000] /JUST FLAG BITS 4685 007401 3125 DCA NMFLGS /SAVE AC 4686 007402 7346 NL7775 /\ 4687 007403 1013 TAD SXR / >BACKUP SYMBOL POINTER 4688 007404 3014 DCA TXR // 4689 007405 1414 TAD I TXR /GET PFLAG WORD 4690 007406 6201 CDF 00 /BACK TO FIELD 0 4691 007407 7710 CRAZP9, SPA CLA /**** /A **** SKP CLA 4692 007410 5232 JMP CRFEND /JUMP IF SYMBOL NOT NEEDED 4693 007411 1156 TAD OPSW /GET EQUATE/COMMA SWITCH 4694 007412 7640 SZA CLA /SKIP IF NOT EQUATE OR COMMA 4695 007413 1434 TAD I OPVAL/[XOPVAL] /GET CALLER OF OPVAL IF IT IS EITHER ONE 4696 007414 1250 TAD EQUVAL/(-EQUADR)/COMPARE TO EQUATE 4697 007415 7650 SNA CLA /SKIP IF OTHERWISE 4698 007416 5232 JMP CRFEND /FORGET IT IF EQUATE 4699 007417 4251 JMS GETREF /GET THE SYMBOL 4700 007420 1156 TAD OPSW /GET EQUATE/COMMA SWITCH 4701 007421 7640 CRFIO, SZA CLA /PREVENT CHECKING IF NORMAL REFERENCE 4702 007422 1434 TAD I OPVAL/[XOPVAL] /GET THE CALLER OF OPVAL 4703 007423 1246 TAD COMVAL/(-COMADR)/IS IT "COMMA"? 4704 007424 7640 SZA CLA /SKIP IF SO 4705 007425 5232 JMP CRFEND /JUMP IF NOT "COMMA" CALLING 4706 007426 7332 NL2000 /OUTPUT "DEFINED BY COMMA" 4707 007427 4266 JMS PUTREF /BIT SEQUENCE 4708 007430 1135 TAD SVAL /GET DEFINING VALUE 4709 007431 4266 JMS PUTREF /OUTPUT IT ALSO 4710 007432 1125 CRFEND, TAD NMFLGS /RESTORE AC 4711 007433 5634 JMP I .+1/(LMZAP8) /GO BACK TO INXIT ROUTINE 4712 007434 2061 LMZAP8 /THROUGH HERE 4713 4714 / EQUATE ROUTINE COMES HERE WHEN A SYMBOL IS DEFINED. 4715 4716 007435 4251 CRFEQU, JMS GETREF /GET THE SYMBOL ITSELF 4717 007436 7330 NL4000 /SET "DEFINED BY EQUATE" BIT 4718 007437 4266 JMS PUTREF /OUTPUT IT 4719 007440 1076 TAD RESULT /GET DEFINITION 4720 007441 4266 JMS PUTREF /OUTPUT IT 4721 007442 7240 NL7777 /DO DISPLACED 4722 007443 1001 TAD EQUSW /INSTRUCTIONS 4723 007444 5645 JMP I .+1/(L6201+3) /GO BACK 4724 007445 0763 L6201+3 /THROUGH HERE 4725 4726 007446 5167 COMVAL, -COMADR /COMMA CALLING OPVAL CONSTANT 4727 007447 7600 CRWCNT, -200 /BUFFER COUNT 4728 007450 7070 EQUVAL, -EQUADR /EQUATE CALLING OPVAL CONSTANT 4729 007451 0000 GETREF, .-. /SYMBOL REFERENCE ROUTINE 4730 007452 1013 TAD SXR /GET THE POINTER 4731 007453 1066 TAD L7774/[-4] /BACKUP TO FLAG WORD 4732 007454 3014 DCA TXR /SAVE FOR RETRIEVAL 4733 007455 7346 NL7775 /SETUP THE 4734 007456 3321 DCA CTMP2 /SYMBOL COUNT 4735 007457 4452 LUPCRF, JMS I SETFLD/[XSTFLD] /SETUP THE DATA FIELD 4736 007460 1414 TAD I TXR /GET A SYMBOL WORD 4737 007461 6201 CDF 00 /BACK TO FIELD 0 4738 007462 4266 JMS PUTREF /OUTPUT IT 4739 007463 2321 ISZ CTMP2 /DONE YET? 4740 007464 5257 JMP LUPCRF /NO, GO BACK 4741 007465 5651 JMP I GETREF /YES, RETURN 4742 4743 007466 0000 PUTREF, .-. /REFERENCE OUTPUT ROUTINE 4744 007467 3412 DCA I RXR /OUTPUT A REFERENCE 4745 007470 2247 ISZ CRWCNT /BUFFER DONE? 4746 007471 5666 JMP I PUTREF /NO, JUST RETURN 4747 007472 4621 JMS I CRFIO/(SYSIO) /YES, CALL I/O ROUTINES 4748 007473 7600 CWBUFF, REFBUF /**** RELOCATE **** 4749 007474 4100 CRWFUN, 1^100+WRITE+.-. /OUTPUT 1 BLOCK; UNIT BITS WILL BE ADDED ON 4750 007475 0000 CRWBLK, 0000 /OUTPUT BLOCK NUMBER 4751 007476 7240 NL7777 /\ 4752 007477 1273 TAD CWBUFF / >RESET OUTPUT INDEX 4753 007500 3012 DCA RXR // 4754 007501 1123 TAD L7600/[-200] /RESET THE 4755 007502 3247 DCA CRWCNT /WORD COUNT 4756 007503 2275 ISZ CRWBLK /UPDATE THE BLOCK NUMBER 4757 007504 5666 JMP I PUTREF /RETURN 4758 4759 / PUNFLD ROUTINE COMES HERE TO OUTPUT THE LATEST FIELD. 4760 4761 007505 1010 CRFFLD, TAD L6000/[6000] /GET FIELD SETTING FLAGS 4762 007506 4266 JMS PUTREF /OUTPUT IT 4763 007507 1143 TAD CURFLD /GET LATEST FIELD SETTING 4764 007510 4266 JMS PUTREF /OUTPUT IT 4765 007511 5712 JMP I .+1/(PNFRET) /RETURN 4766 007512 0670 PNFRET /THROUGH HERE 4767 4768 007513 0000 DIGS, 0 /DIGIT NUMBER 1 4769 007514 0000 0 /DIGIT NUMBER 2 4770 007515 0000 0 /DIGIT NUMBER 3 4771 007516 0000 0 /DIGIT NUMBER 4 4772 007517 0060 "0&77 /DIGIT NUMBER 5 4773 007520 7706 CR7706, 7706 /CONSTANT 7706 WHICH ENDS THE DIGITS 4774 007521 0000 CTMP2, .-. /TEMPORARY 4775 / XERR COMES HERE WITH ERROR TYPE IN AC. 4776 4777 007522 3321 CRFERR, DCA CTMP2 /SAVE ERROR CODE 4778 007523 7344 NL7776 /SETUP 4779 007524 4266 JMS PUTREF /ERROR TYPE CODE 4780 007525 1321 TAD CTMP2 /GET PARTICULAR ERROR TYPE 4781 007526 4266 JMS PUTREF /OUTPUT IT 4782 007527 1321 TAD CTMP2 /RESTORE AC 4783 007530 4445 JMS I P45CH/[XP45CH] /DO DISPLACED 4784 007531 3006 DCA RCHAR /INSTRUCTIONS 4785 007532 5733 JMP I .+1/(CRERRP+1) /GO BACK TO THEM 4786 007533 2670 CRERRP+1 /THROUGH HERE 4787 4788 / NEWSTM COMES HERE AT EACH BEGINNING OF A NEW STATEMENT. 4789 4790 007534 2370 EXNEW, ISZ LO /BUMP LOWER WORD 4791 007535 7410 SKP /DO WE BUMP HIGH WORD? 4792 007536 2367 ISZ HI /YES 4793 007537 1367 TAD HI /GET HIGH WORD 4794 007540 4266 JMS PUTREF /OUTPUT IT 4795 007541 1370 TAD LO /GET LOW WORD 4796 007542 4266 JMS PUTREF /OUTPUT IT 4797 007543 1372 TAD RESET /RESET THE 4798 007544 3371 DCA PTR /DIGIT POINTER 4799 007545 2771 EXNLUP, ISZ I PTR /BUMP TO NEXT 4800 007546 1771 TAD I PTR /RETRIEVE DIGIT 4801 007547 1320 TAD CR7706/(-":!200)/IS IT PAST "9"? 4802 007550 7640 SZA CLA /SKIP IF SO 4803 007551 5364 JMP EXNEXT /JUMP IF NOT 4804 007552 1061 TAD L60/["0&77] /RESET THIS 4805 007553 3771 DCA I PTR /DIGIT TO 0 4806 007554 7240 NL7777 /\ 4807 007555 1371 TAD PTR / >BACKUP THE POINTER 4808 007556 3371 DCA PTR // 4809 007557 1771 TAD I PTR /GET PREVIOUS DIGIT 4810 007560 7450 SNA /ALREADY SET? 4811 007561 1061 TAD L60/["0&77] /NO, INITIALIZE IT 4812 007562 3771 DCA I PTR /STORE BACK 4813 007563 5345 JMP EXNLUP /TRY AGAIN 4814 4815 007564 1055 EXNEXT, TAD L40/[" &77] /GET DISPLACED INSTRUCTION 4816 007565 5766 JMP I .+1/(NEWRET) /CONTINUE THERE 4817 007566 3453 NEWRET /THROUGH HERE 4818 4819 007567 0000 HI, 0 /HIGH-ORDER STATEMENT NUMBER 4820 007570 0000 LO, 0 /LOW-ORDER STATEMENT NUMBER 4821 007571 7517 PTR, DIGS+4 /DIGIT POINTER 4822 007572 7517 RESET, DIGS+4 /**** RELOCATE **** 4823 PAGE 4824 4825 REFBUF= . /REFERENCES DUMPED HERE 4826 4827 *7777 /END OF 4828 *7777 /AN OVERLAY 4829 OVLYBLK=37 /STARTING OVERLAY BLOCK 4830 4831 FIELD 1 /GENERATE IT HERE 4832 4833 NOPUNCH /FOOL THE ASSEMBLER 4834 4835 FIELD 0 /WHERE IT REALLY GOES EVENTUALLY 4836 4837 ENPUNCH /RESTORE THE BINARY OUTPUT NOW 4838 4839 *0 /GENERATE IT IN FIELD 1 HERE 4840 4841 ASMCOD, RELOC 200 /WHERE IN FIELD 0 IT GOES 4842 4843 ASMBLK= OVLYBLK /BLOCK NUMBER FOR OVERLAY 4844 4845 IFNZRO 200-. 4846 000200* 3111 ATOM, DCA NM1 /MUST BE AT 000200 4847 000201* 3112 DCA NM2 /CLEAR OUT 4848 000202* 3113 DCA NM3 /TAG FIELD 4849 000203* 4423 TESTL /TEST FOR VALID ALPHA 4850 000204* 5235 JMP NUMRIC /MUST BE ON PAGE 200; THIS IS THE DIGIT RETURN 4851 000205* 4303 JMS OPCHK /THIS IS THE ALPHA RETURN 4852 000206* 1364 TAD PNM1/(NM1) /RESET 4853 000207* 3315 DCA ATMSPT /TAG POINTER 4854 000210* 1073 SHFTIT, TAD CHAR /GET LATEST CHARACTER 4855 000211* 7106 CLL RTL /*4 4856 000212* 7004 RAL /*10 4857 000213* 1073 TAD CHAR /*11 4858 000214* 7006 RTL /*44 4859 000215* 1073 TAD CHAR /*45 4860 000216* 3715 DCA I ATMSPT /STORE AS HIGH CHARACTER 4861 000217* 4423 SNXTCH, TESTL /TEST NEXT CHARACTER 4862 000220* 1271 TAD L7753/("Z-"0+1-100) /IF DIGIT ADJUST TO RADIX 45 CONVENTIONS 4863 000221* 1073 TAD CHAR /NOW HAVE VALID ALPHANUMERIC IN RADIX 45 4864 000222* 3073 DCA CHAR /STORE IT BACK 4865 000223* 1715 TAD I ATMSPT /GET PREVIOUS CHARACTER 4866 000224* 7450 SNA /IN THIS WORD BEFORE? 4867 000225* 5210 JMP SHFTIT /NO, THIS IS NEXT HIGH ORDER 4868 000226* 7510 SPA /SCANNED OFF SIX YET? 4869 000227* 5314 JMP AFLSHM /YES, GO INTO IGNORE MODE 4870 000230* 1073 TAD CHAR /GET THE CHARACTER ADDED ON 4871 000231* 3715 DCA I ATMSPT /STORE PAIR AWAY 4872 000232* 2315 ISZ ATMSPT /BUMP TO NEXT PAIR 4873 000233* 5217 JMP SNXTCH /GO GET ANOTHER 4874 4875 000234* 7711 RADSW2, 7711 /RADIX SWITCH 4876 / DIGIT "0"-"9" PROCESSOR. 4877 4878 000235* 4303 NUMRIC, JMS OPCHK /CHECK IF ALLOWED HERE 4879 000236* 3135 DCA SVAL /CLEAR RUNNING SUM 4880 000237* 1234 NUMLUP, TAD RADSW2 /GET CURRENT LIMIT (-7 OR -9) 4881 000240* 1073 TAD CHAR /COMPARE TO LATEST CHARACTER 4882 000241* 7740 SMA SZA CLA /SKIP IF LEGAL ASCII DIGIT 4883 000242* 5255 JMP DIGERR /BARF 4884 000243* 1135 RD10VAL,TAD SVAL /GET RUNNING SUM 4885 000244* 7104 CLL RAL /*2 4886 000245* 7104 CLL RAL /*4 4887 000246* 7000 RADSW1, NOP /*4 IF OCTAL; *5 IF DECIMAL 4888 000247* 7104 CLL RAL /*8 IF OCTAL; *10 IF DECIMAL 4889 000250* 1073 TAD CHAR /ADD ON LATEST DIGIT 4890 000251* 1314 TAD L7720/(-"0!200) /STRIP OFF ASCII ZONE BITS 4891 000252* 3135 DCA SVAL /SAVE AS LATEST SUM 4892 000253* 4423 TESTL /SCAN ANOTHER CHARACTER 4893 000254* 5237 JMP NUMLUP /GET ANOTHER DIGIT; CHECK IF IT'S LEGAL 4894 000255* 4427 DIGERR, JMS I ERR/[XERR] /\ 4895 000256* 1033 NU / >ILLEGAL USAGE WITHIN NUMERALS 4896 000257* 5313 JMP AFLSH // 4897 4898 000260* 0000 XORSYM, .-. /OR AC WITH SVAL 4899 000261* 3025 DCA TMP /SAVE AC 4900 000262* 1135 TAD SVAL /GET SVAL 4901 000263* 7040 CMA /FORM CARRY MASK 4902 000264* 0025 AND TMP /REMOVE ALL CARRIES 4903 000265* 1135 TAD SVAL /THIS COMPLETES THE "OR" 4904 000266* 5660 JMP I XORSYM /RETURN 4905 4906 000267* 7707 L7707, 7707 /CONSTANT 7707 4907 000270* 7711 L7711, 7711 /CONSTANT 7711 4908 000271* 7753 L7753, 7753 /CONSTANT 7753 4909 / "OCTAL" PSEUDO-OP HANDLER. 4910 4911 000272* 1056 RAD8, TAD L7000/[NOP] /USE A "NOP" 4912 000273* 3246 DCA RADSW1 /TO FORCE OCTAL 4913 000274* 1270 TAD L7711/(-"7!200) /FORCE "8" AND "9" TO BE ILLEGAL 4914 000275* 3234 RADIN, DCA RADSW2 /DURING OCTAL CALCULATIONS 4915 000276* 5441 JMP I PSDRET/[XPSDRET] /RETURN 4916 4917 / "DECIMAL" PSEUDO-OP HANDLER. 4918 4919 000277* 1243 RAD10, TAD RD10VAL/(TAD SVAL) /USE A "TAD SVAL" 4920 000300* 3246 DCA RADSW1 /TO FORCE DECIMAL 4921 000301* 1267 TAD L7707/(-"9!200) /ALLOW "8" AND "9" TO BE LEGAL 4922 000302* 5275 JMP RADIN /CONTINUE THERE 4923 4924 000303* 0000 OPCHK, .-. /OPERAND CHECK 4925 000304* 1051 TAD PRVCHR /GET PREVIOUS CHARACTER FLAG 4926 000305* 7650 SNA CLA /WERE WE HERE? 4927 000306* 5311 JMP OPGONE /YES, BARF 4928 000307* 3051 DCA PRVCHR /INDICATE WE WERE HERE FOR FURTHER SCAN CHECKS 4929 000310* 5703 JMP I OPCHK /RETURN 4930 4931 000311* 4427 OPGONE, JMS I ERR/[XERR] /COMPLAIN OF 4932 000312* 1330 SY /SYNTACTICAL SCAN ERROR 4933 000313* 4423 AFLSH, TESTL /GET A CHARACTER 4934 AFLSHM, /THROW IT AWAY 4935 000314* 7720 L7720, 7720 /CONSTANT 7720; THIS CLEARS THE AC 4936 000315* 0111 ATMSPT, NM1 /NAME POINTER; THIS CAN BE SKIPPED 4937 000316* 5313 JMP AFLSH /FLUSH TO END OF LINE 4938 4939 / GENERAL RECURSIVE EXPRESSION EVALUATOR. 4940 4941 000317* 0000 XEXPR, .-. /EXPRESSION EVALUATOR 4942 000320* 1317 TAD XEXPR /SAVE RETURN ADDRESS 4943 000321* 4420 PUSH /ON STACK 4944 000322* 3072 DCA ANY /NO ARITHMETICS SEEN YET AT BEGINNING 4945 000323* 1127 TAD PIOR/[XIOR] /PREVIOUS OPERATOR IS 4946 000324* 3132 DCA PRVOPR /DEFAULTED TO INCLUSIVE OR WITH 4947 000325* 3076 DCA RESULT /A ZERO RESULT 4948 000326* 4422 TEOS /END OF STATEMENT? 4949 000327* 7410 SKP /NO 4950 000330* 5355 JMP VACEXP /YES, THIS TERM IS NULL 4951 000331* 1055 TAD L40/[" &77] /GRAB A BLANK 4952 000332* 5177 JMP SCRESET /AND START SCANNING 4953 / LEFT ANGLE BRACKET PROCESSOR. 4954 4955 000333* 1121 BRKTRP, TAD FLSHSW /ARE WE IN CONDITIONAL ASSEMBLY? 4956 000334* 7650 SNA CLA /SKIP IF YES 4957 000335* 5501 JMP I BDCH/[ILLCHR] /JUMP IF NOT 4958 000336* 1051 EOS, TAD PRVCHR /GET SWITCH 4959 000337* 7440 SZA /ELEMENT SCANNED? 4960 000340* 5350 JMP EOSPCK /NO, CHECK PREVIOUS 4961 000341* 4434 JMS I OPVAL/[XOPVAL] /EVALUATE OPERAND 4962 000342* 5355 JMP VACEXP /WAS NONE OR PSEUDO-OP 4963 000343* 4426 JMS I ARITH/[XARITH] /DO PREVIOUS ARITHMETIC 4964 000344* 4421 VEXIT, POP /GOOD RETURN, GET RETURN ADDRESS 4965 000345* 7001 IAC /INCREMENT FOR SKIP RETURN 4966 000346* 3317 DCA XEXPR /RESTORE ADDRESS 4967 000347* 5717 JMP I XEXPR /RETURN TO CALLER 4968 4969 000350* 4424 EOSPCK, TSPACE /WAS PREVIOUS AS GOOD AS A ? 4970 000351* 5360 JMP IEXP /NO, BARF 4971 000352* 1072 TAD ANY /ANYTHING SCANNED OFF? 4972 000353* 7640 SZA CLA /SKIP IF NOT 4973 000354* 5344 JMP VEXIT /JUMP IF ANYTHING OBTAINED 4974 000355* 3076 VACEXP, DCA RESULT /CLEAR RESULT 4975 000356* 4421 POP /GET RETURN ADDRESS 4976 000357* 5346 JMP VEXIT+2 /CONTINUE THERE 4977 4978 000360* 4427 IEXP, JMS I ERR/[XERR] /COMPLAIN OF 4979 000361* 0522 IE /ILLEGAL EXPRESSION 4980 000362* 5355 JMP VACEXP /CONTINUE THERE 4981 4982 / "ERROR" PSEUDO-OP PROCESSOR. 4983 4984 000363* 4430 XERROR, JMS I EXPR/[XEXPR] /EVALUATE ARGUMENT 4985 000364* 0111 PNM1, NM1 /POINTER TO NM1 4986 000365* 1076 TAD RESULT /GET RESULT 4987 000366* 4427 JMS I ERR/[XERR] /COMPLAIN OF 4988 000367* 4313 ER /USER ERROR 4989 000370* 5441 JMP I PSDRET/[XPSDRET]/RETURN 4990 4991 000371* 0000 XTSPACE,.-. /TEST FOR OR 4992 000372* 1062 TAD L7740/[-" !200] /AC CONTAINS THE TEST CHARACTER 4993 000373* 7440 SZA /SKIP IF A 4994 000374* 7001 IAC /ELSE TRY 4995 000375* 7650 SNA CLA /SKIP IF NOT OR 4996 000376* 2371 ISZ XTSPACE /BUMP RETURN ADDRESS IF SO 4997 000377* 5771 JMP I XTSPACE /RETURN EITHER WAY 4998 PAGE 4999 5000 000400* 1016 PRCENT, TAD L7761/[XDIV-XAND] /A("%")-A("&") 5001 000401* 1065 AMPSND, TAD L7770/[XAND-XADD] /A("&")-A("+") 5002 000402* 1154 PLUS, TAD L7772/[XADD-XSUB] /A("+")-A("-") 5003 000403* 1066 MINUS, TAD L7774/[XSUB-XBSFHT] /A("-")-A("!") 5004 000404* 1154 BAR, TAD L7772/[XBSHFT-XMUL] /A("!")-A("^") 5005 000405* 1277 UPARRX, TAD PMULT/(XMUL) /A("^") 5006 000406* 3213 DCA TMOP /SAVE AS OPERATOR ADDRESS 5007 000407* 1051 TAD PRVCHR /GET PREVIOUS SCAN INDICATOR 5008 000410* 7440 SZA /SYMBOL SCANNED? 5009 000411* 5216 JMP CHKIT /NO, CHECK FURTHER 5010 000412* 4434 JMS I OPVAL/[XOPVAL] /YES, EVALUATE IT 5011 000413* 0000 TMOP, .-. /OPERATOR TEMPORARY 5012 000414* 4226 JMS XARITH /NOW DO ARITHMETIC TRIPLE 5013 000415* 5221 JMP SETPRV /CONTINUE SCAN 5014 5015 000416* 4424 CHKIT, TSPACE /IS TERMINATOR A ? 5016 000417* 5323 JMP CHKMOR /NO, CHECK FURTHER 5017 000420* 2075 ISZ LBLSWT /YES, BUMP SCAN LEVEL 5018 000421* 1213 SETPRV, TAD TMOP /USE CURRENT OPERATOR 5019 000422* 3132 SPBRIN, DCA PRVOPR /NEXT TIME AS PREVIOUS 5020 000423* 7240 NL7777 /INITIALIZE 5021 000424* 3015 DCA ASIGN /SIGN SWITCH 5022 000425* 5176 JMP SETCHR /CONTINUE SCAN 5023 5024 000426* 0000 XARITH, .-. /COMMON ARITHMETIC CO-ROUTINE 5025 000427* 2072 ISZ ANY /INDICATE ELEMENT FOUND 5026 000430* 2075 ISZ LBLSWT /BUMP SCAN PENETRATION 5027 000431* 1135 TAD SVAL /GET LATEST TERM VALUE 5028 000432* 2015 ISZ ASIGN /DO WE INVERT? 5029 000433* 7041 LMZAPL, CIA /**** (/8 OR /9) AND LMODE **** CMA 5030 000434* 5532 JMP I PRVOPR /GO DO PREVIOUS 5031 5032 000435* 4434 SPSYM, JMS I OPVAL/[XOPVAL] /EVALUATE SYMBOL (MAYBE) 5033 000436* 5257 JMP NULVL /WAS NONE 5034 000437* 4226 JMS XARITH /DO ARITHMETIC TRIPLE WITH PREVIOUS 5035 000440* 4422 TEOS /ARE WE DONE? 5036 000441* 5302 JMP SPBAR /NO, KEEP GOING 5037 000442* 5457 JMP I VALRET/[VEXIT] /YES, RETURN WITH GOOD VALUE 5038 5039 000443* 3135 XDIV, DCA SVAL /SAVE TERM 5040 000444* 3025 DCA TMP /CLEAR QUOTIENT 5041 000445* 1135 XDIVIN, TAD SVAL /RESTORE IT 5042 000446* 7141 CLL CIA /INVERT 5043 000447* 1076 TAD RESULT /ADD ONTO RESULT 5044 000450* 3076 DCA RESULT /SAVE IT BACK 5045 000451* 7420 SNL /DID WE OVERFLOW? 5046 000452* 5255 JMP .+3 /YES, QUIT 5047 000453* 2025 ISZ TMP /BUMP QUOTIENT 5048 000454* 5245 JMP XDIVIN /GO BACK FOR MORE 5049 000455* 1025 TAD TMP /GET QUOTIENT 5050 000456* 5317 JMP XMULXT /FINISH UP 5051 000457* 4422 NULVL, TEOS /END OF STATEMENT? 5052 000460* 5176 JMP SETCHR /NO, KEEP GOING 5053 000461* 5470 JMP I VACRET/[VACEXP] /YES, WE'RE DONE; NOTHING HAPPENED AT THIS SCAN LEVEL 5054 5055 IFNZRO 7761-XDIV+. 5056 000462* 0076 XAND, AND RESULT /AND OFF 5057 000463* 5317 JMP XMULXT /FINISH IT THERE 5058 5059 / AND PROCESSOR. 5060 5061 TAB, /SAME AS SPACE 5062 000464* 1051 SPACE, TAD PRVCHR /WAS A SYMBOL ELEMENT SCANNED? 5063 000465* 7650 SNA CLA/SNA /SKIP IF NOT 5064 000466* 5235 JMP SPSYM /JUMP IF SO 5065 / TSPACE /WAS THE PREVIOUS A ? 5066 / JMP I IEXPR/[IEXP] /NO, BARF 5067 000467* 5454 JMP I PATOM/[ATOM] /YES, IGNORE IT 5068 5069 000470* 7306 MXADD, -XADD /ADDRESS CONSTANT 5070 000471* 4056 PNXTFIL,NXTFILE /RESET VALUE FOR CO-ROUTINE 5071 5072 IFNZRO 7770-XAND+. 5073 000472* 7100 XADD, CLL /CLEAN UP FOR TEST 5074 000473* 1076 TAD RESULT /ADD ON RESULT 5075 000474* 7410 LMZAP3, SKP /**** (/8 OR /9) AND LMODE **** SZL 5076 000475* 7001 IAC /END AROUND CARRY 5077 000476* 5317 JMP XMULXT /FINISH THERE 5078 5079 000477* 0512 PMULT, XMUL /MULTIPLY POINTER 5080 5081 IFNZRO 7772-XADD+. 5082 000500* 7041 XSUB, CIA /**** (/8 OR /9) AND LMODE **** CMA 5083 000501* 5272 JMP XADD /FINISH THERE 5084 5085 000502* 1127 SPBAR, TAD PIOR/[XIOR] /SPACE IS OR (!) OPERATION 5086 000503* 5222 JMP SPBRIN /CONTINUE THERE 5087 5088 IFNZRO 7774-XSUB+. 5089 000504* 3135 XBSHFT, DCA SVAL /SAVE TERM 5090 000505* 1076 TAD RESULT /GET RUNNING RESULT 5091 000506* 4534 SLYZAP, JMS I ROR6/[XROR6] /**** NOT /Y **** JMP XBCKIN 5092 000507* 7010 RAR /SHIFT LEFT SIX 5093 000510* 0362 AND L7700X /REMOVE JUNK BITS 5094 000511* 5340 JMP XBCKIN /CONTINUE THERE 5095 5096 IFNZRO 7772-XBSHFT+. 5097 000512* 7041 XMUL, CIA /INVERT 5098 000513* 3135 DCA SVAL /SAVE AS COUNT 5099 000514* 1076 TAD RESULT /ADD ON RESULT 5100 000515* 2135 ISZ SVAL /DONE ENOUGH? 5101 000516* 5314 JMP .-2 /NO, GO BACK 5102 000517* 3076 XMULXT, DCA RESULT /SAVE RESULT 5103 000520* 7240 NL7777 /RESET 5104 000521* 3015 DCA ASIGN /ARITHMETIC SIGN 5105 000522* 5626 JMP I XARITH /RETURN TO WHOEVER 5106 000523* 1213 CHKMOR, TAD TMOP /GET OPERATOR 5107 000524* 1270 TAD MXADD/(-XADD) /IS IT ? 5108 000525* 7450 SNA /SKIP IF NOT 5109 000526* 5176 JMP SETCHR /IGNORE IT 5110 000527* 1154 TAD L7772/[-XSUB+XADD] /IS IT ? 5111 000530* 7640 SZA CLA /SKIP IF SO 5112 000531* 5501 JMP I BDCH/[ILLCHR] /COMPLAIN 5113 000532* 1015 TAD ASIGN /GET LATEST SIGN 5114 000533* 7040 CMA /INVERT IT 5115 000534* 3015 DCA ASIGN /PUT IT BACK 5116 000535* 5176 JMP SETCHR /KEEP GOING 5117 5118 000536* 3135 XIOR, DCA SVAL /SAVE IT 5119 000537* 1076 TAD RESULT /GET RESULT 5120 000540* 4435 XBCKIN, JMS I ORSYM/[XORSYM] /OR IT IN 5121 000541* 5317 JMP XMULXT /FINISH THERE 5122 5123 / "PAUSE" PSEUDO-OP PREOCESSOR. 5124 5125 000542* 4430 XPAUSE, JMS I EXPR/[XEXPR] /GET AN ARGUMENT (IF ANY PRESENT) 5126 000543* 5353 JMP PAUSE2 /WASN'T ANY 5127 000544* 1076 TAD RESULT /DISPLAY 5128 000545* 4427 JMS I ERR/[XERR] /THE PAUSE AS 5129 000546* 5121 PA /PA XXXX AT YYYY+ZZZZ (VVVV) 5130 000547* 7240 NL7777 /\ 5131 000550* 1117 TAD ERRTOT / >BACKUP ERROR COUNT 5132 000551* 3117 DCA ERRTOT // 5133 000552* 5441 JMP I PSDRET/[XPSDRET] /RETURN 5134 5135 000553* 4440 PAUSE2, JMS I PRTBUF/[XPRTBF] /PRINT THE LINE BUFFER 5136 000554* 1271 TAD PNXTFIL/(NXTFILE) /RESET THE 5137 000555* 3562 DCA I PGIVCHR/[GIVCH] /INPUT ROUTINE 5138 000556* 5573 JMP I XNWSTM/[NEWSTM] /CONTINUE PROCESSING AT THE NEXT INPUT FILE 5139 5140 000557* 0000 XGETCOL,.-. /GET TO SPECIFIED COLUMN ROUTINE 5141 000560* 1757 TAD I XGETCOL /GET THE ARGUMENT 5142 000561* 1102 TAD COLCT /COMPARE TO CURRENT COLUMN 5143 000562* 7700 L7700X, SMA CLA /SKIP IF NOT ENOUGH 5144 000563* 5366 JMP COLXIT /JUMP IF DONE 5145 000564* 4446 JMS I P6CH/[XP6CH] /OUTPUT A 5146 000565* 5360 JMP XGETCOL+1 /TRY AGAIN 5147 5148 000566* 2357 COLXIT, ISZ XGETCOL /BUMP AROUND ARGUMENT 5149 000567* 5757 JMP I XGETCOL /RETURN TO CALLER 5150 5151 000570* 0000 XCHKLST,.-. /CHECK LEGALITY OF LOCAL EXPRESSION ELEMENT 5152 000571* 1051 TAD PRVCHR /GET SWITCH 5153 000572* 7650 SNA CLA /ELEMENT SCANNED? 5154 000573* 5501 JMP I BDCH/[ILLCHR] /YES, NOT ALLOWED SO COMPLAIN 5155 000574* 5770 JMP I XCHKLST /NO, RETURN TO CONTINUE THE SCAN 5156 PAGE 5157 5158 / ORIGIN SETTING "*" PROCESSOR. 5159 5160 000600* 1051 STAR, TAD PRVCHR /CHECK IF 5161 000601* 4424 TSPACE /NOTHING WAS SCANNED OFF YET 5162 000602* 5501 JMP I BDCH/[ILLCHR] /BARF 5163 000603* 1075 TAD LBLSWT /ANY EVALUATED ELEMENTS? 5164 000604* 7640 SZA CLA /SKIP IF NOT 5165 000605* 5501 JMP I BDCH/[ILLCHR] /BARF 5166 000606* 2075 ISZ LBLSWT /INDICATE THIS SCAN DONE 5167 000607* 4430 JMS I EXPR/[XEXPR] /GET ANY ARGUMENT 5168 000610* 5474 JMP I IEXPR/[IEXP] /WAS NONE 5169 000611* 1076 LMZAP6, TAD RESULT /**** /8 OR /9 **** JMP I LMZAP7 5170 000612* 5227 LMZAP7, JMP PAGMOR /**** /8 OR /9 **** LMORG (RELOCATED) 5171 5172 / "FIELD" PSEUDO-OP PROCESSOR. 5173 5174 000613* 4430 XFLD, JMS I EXPR/[XEXPR] /GET ARGUMENT 5175 000614* 5234 JMP NXTFLD /WASN'T ANY ARGUMENT 5176 000615* 1076 TAD RESULT /GET VALUE 5177 000616* 0136 XFLDIN, AND L77/[77] /ONLY BITS 6-11 ARE USED 5178 000617* 3434 DCA I OPVAL/[XOPVAL] /SAVE FOR LATER 5179 000620* 1076 TAD RESULT /GET ARGUMENT 5180 000621* 7710 SPA CLA /WAS IT POSITIVE? 5181 000622* 7240 NL7777 /IF NEGATIVE, DON'T DUMP LITERALS 5182 000623* 3144 DCA DUMPSW /SET OR CLEAR SWITCH 5183 000624* 4237 JMS PUNFLD /OUTPUT THE FIELD SETTING 5184 000625* 3172 DCA UNDFLG /*200 IS NOT UNDEFINED! 5185 000626* 5470 SL0ZAP, JMP I VACRET/[VACEXP] /**** /0 **** TAD L200/[200] 5186 000627* 4272 PAGMOR, JMS UOCHEK /CHECK FOR UNDEFINED ORIGIN 5187 000630* 4443 JMS I PUTORG/[XPUTORG]/OUTPUT ORIGIN 5188 000631* 1435 TAD I ORSYM/[XORSYM] /GET WHAT WE JUST OUTPUTTED 5189 000632* 3104 DCA LOCNTR /NEW VALUE FOR PC 5190 000633* 5470 JMP I VACRET/[VACEXP] /TAKE VACUOUS RETURN 5191 5192 000634* 1143 NXTFLD, TAD CURFLD /GET CURRENT FIELD 5193 000635* 7001 IAC /BUMP TO NEXT ONE 5194 000636* 5216 JMP XFLDIN /CONTINUE THERE 5195 000637* 0000 PUNFLD, .-. /OUTPUT FIELD SETTING TO PUTFLD 5196 000640* 1172 TAD UNDFLG /GET DEFINED FLAG 5197 000641* 7650 SNA CLA /SKIP IF UNDEFINED 5198 000642* 5245 JMP .+3 /JUMP IF OK 5199 000643* 4427 JMS I ERR/[XERR] /COMPLAIN OF 5200 000644* 1417 UF /UNDEFINED FIELD 5201 000645* 1434 TAD I OPVAL/[XOPVAL] /GET FIELD VALUE 5202 000646* 0122 AND L7/[7] /JUST MEMORY FIELD BITS 5203 000647* 7104 CLL RAL;RTL /PUT INTO FIELD BITS 000650* 7006 5204 000651* 1360 TAD L6201/[CDF] /MAKE IT A CDF INSTRUCTION 5205 000652* 3272 DCA UOCHEK /SAVE IT FOR NOW 5206 000653* 1434 TAD I OPVAL/[XOPVAL] /GET FIELD VALUE AGAIN 5207 000654* 7010 RAR /MOVE BANK BIT DOWN 5208 000655* 0100 L100, AND L4/[4] /ISOLATE THE BIT 5209 000656* 1272 TAD UOCHEK /UPDATE 5210 000657* 3272 DCA UOCHEK /STORE BACK 5211 000660* 1434 TAD I OPVAL/[XOPVAL] /GET FIELD VALUE AGAIN 5212 000661* 7006 RTL /MOVE UPPER BANK BIT UP 5213 000662* 0255 AND L100/[100] /ISOLATE IT 5214 000663* 1272 TAD UOCHEK /NOW HAVE COMPOSITE 5215 000664* 4442 JMS I PUTFLD/[XPUTFLD]/GO PUNCH IT 5216 000665* 1434 TAD I OPVAL/[XOPVAL] /RETRIEVE 5217 000666* 3143 DCA CURFLD /SAVED FIELD 5218 000667* 5671 JMP I PNFCPTR /OUTPUT LATEST FIELD FOR CROSS-REFERENCE 5219 000670* 5637 PNFRET, JMP I PUNFLD /RETURN 5220 5221 000671* 0670 PNFCPTR,PNFRET /**** /L AND /X AND PASS 2 **** CRFFLD (RELOCATED) 5222 5223 000672* 0000 UOCHEK, .-. /UNDEFINED ORIGIN CHECK ROUTINE 5224 000673* 3237 DCA PUNFLD /SAVE AC 5225 000674* 1172 TAD UNDFLG /GET UNDEFINED FLAG 5226 000675* 7650 SNA CLA /SKIP IF SET 5227 000676* 5301 JMP .+3 /JUMP IF NOT 5228 000677* 4427 JMS I ERR/[XERR] /COMPLAIN OF 5229 000700* 1430 UO /UNDEFINED ORIGIN 5230 000701* 1237 TAD PUNFLD /RESTORE AC 5231 000702* 5672 JMP I UOCHEK /RETURN 5232 / RECURSIVE EQUATE "=" PROCESSOR. 5233 5234 000703* 1051 EQU, TAD PRVCHR /CHARACTERS (SYMBOL) SCANNED? 5235 000704* 7640 SZA CLA /SKIP IF SO 5236 000705* 5501 JMP I BDCH/[ILLCHR] /BARF 5237 000706* 7240 NL7777 /ALLOW UNDEFINED 5238 000707* 4434 JMS I OPVAL/[XOPVAL] /EVALUATE SYMBOL 5239 000710* 5474 EQUADR, JMP I IEXPR/[IEXP] /CAN'T REDEFINE PSEUDO-OPS, ETC. 5240 000711* 1001 TAD EQUSW /WERE WE HERE BEFORE? 5241 000712* 1120 TAD FIXMRF /OR IS THIS A FIXMRI EQUATE? 5242 000713* 7650 SNA CLA /DON'T CHECK SCAN POSITION IF EITHER 5243 000714* 1075 TAD LBLSWT /SCAN WITHIN LIMITS? 5244 000715* 7650 SNA CLA /FORCE ERROR BY SKIPPING NEXT IF YES 5245 000716* 1111 TAD NM1 /IS IT REALLY A SYMBOL? 5246 000717* 7650 SNA CLA /SKIP IF WE RAN THE GAUNTLET 5247 000720* 5474 JMP I IEXPR/[IEXP] /BARF 5248 000721* 2075 ISZ LBLSWT /DON'T ALLOW INITIAL SCAN ITEMS 5249 000722* 2001 ISZ EQUSW /BUMP UP EQUATE COUNT IN CASE RECURSIVE 5250 000723* 1007 TAD SYMNUM /GET SYMBOL NUMBER 5251 000724* 4420 PUSH /SAVE IT 5252 000725* 3172 DCA UNDFLG /EXONERATE THIS TERM FOR NOW 5253 000726* 4430 JMS I EXPR/[XEXPR] /GET A POSSIBLE ARGUMENT 5254 000727* 2172 ISZ UNDFLG /WASN'T ANY 5255 000730* 4421 POP /RESTORE 5256 000731* 3007 DCA SYMNUM /SYMBOL NUMBER 5257 000732* 1172 TAD UNDFLG /GET UNDEFINEDNESS INDICATOR 5258 000733* 7410 EQUFIX, SKP /**** PASS 2 **** SZA CLA 5259 000734* 5474 JMP I IEXPR/[IEXP] /BARF 5260 000735* 7640 SZA CLA /DURING PASS 1, IS IT UNDEFINED? 5261 000736* 5470 JMP I VACRET/[VACEXP] /YES, DON'T EXTRANEOUSLY DEFINE IT 5262 000737* 4450 JMS I SETSYM/[XSETSM] /SETUP THE SYMBOL 5263 000740* 1013 TAD SXR /GET TABLE POINTER 5264 000741* 3014 DCA TXR /SAVE IT 5265 000742* 1071 TAD L1777/[1777] /SET TO THROW AWAY OLD FLAG BITS 5266 000743* 0414 AND I TXR /GET FIRST SYMBOL WORD 5267 000744* 7106 CLL RTL /MOVE DEFINED BIT TO LINK 5268 000745* 7132 STL RTR /RESTORE WITH DEFINED BIT SET 5269 000746* 1120 TAD FIXMRF /MAKE MRI (MAYBE) 5270 000747* 3413 DCA I SXR /STORE AWAY 5271 000750* 7350 EQ2ZAP, NL3777 /**** PASS 2 **** NL7777 5272 000751* 0413 AND I SXR /RETAIN DESIRED BITS 5273 000752* 3414 DCA I TXR /STORE IT BACK 5274 000753* 7350 NL3777 /REMOVE THE 5275 000754* 0414 AND I TXR /"DEFINED BY COMMA" BIT 5276 000755* 3413 DCA I SXR /JUST IN CASE 5277 000756* 1076 TAD RESULT /GET NEW VALUE 5278 000757* 3413 DCA I SXR /STORE IT 5279 000760* 6201 L6201, CDF 00 /BACK TO FIELD 0 5280 000761* 7240 NL7777 /**** /L AND /X AND PASS 2 **** JMP I .+1 5281 000762* 1001 TAD EQUSW /**** /L AND /X AND PASS 2 **** CRFEQU (RELOCATED) 5282 000763* 3001 DCA EQUSW /BACKUP THE EQUALS COUNT 5283 000764* 1001 TAD EQUSW /GET LATEST VALUE 5284 000765* 7640 SZA CLA /SKIP IF AT FIRST LEVEL 5285 000766* 5457 JMP I VALRET/[VEXIT] /RETURN GOOD VALUE 5286 000767* 1076 TAD RESULT /GET VALUE AGAIN 5287 000770* 4566 JMS I PTNREG/[XPTNREG]/PRINT IT OUT 5288 000771* 5470 MRILOC, JMP I VACRET/[VACEXP] /WE'RE DONE 5289 5290 / ILLEGAL CHARACTERS COME HERE. 5291 5292 000772* 1073 ILLCHR, TAD CHAR /GET THE OFFENDING CHARACTER 5293 000773* 4427 JMS I ERR/[XERR] /PRINT OUT THE COMPLAINT 5294 000774* 4520 IC /WITH THIS MESSAGE 5295 000775* 5176 JMP SETCHR /KEEP RIGHT ON GOING 5296 PAGE 5297 5298 IFNZRO .&177 5299 XTRATAB=. /TRANSLATE TABLE HERE 5300 5301 / MASTER SIXBIT TRANSLATE AND DISPATCH TABLE. 5302 5303 / 0 0 1 2 3 4 5 6 7 0 5304 / ATSIGN A B C D E F G 5305 / 00 01 02 03 04 05 06 07 5306 001000* 0336 EOS ;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER 001001* 1672 001002* 1672 001003* 1672 001004* 1672 001005* 1672 001006* 1672 001007* 1672 5307 / 1 0 1 2 3 4 5 6 7 1 5308 / H I J K L M N O 5309 / 10 11 12 13 14 15 16 17 5310 001010* 1672 LETTER;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER 001011* 1672 001012* 1672 001013* 1672 001014* 1672 001015* 1672 001016* 1672 001017* 1672 5311 / 2 0 1 2 3 4 5 6 7 2 5312 / P Q R S T U V W 5313 / 20 21 22 23 24 25 26 27 5314 001020* 1672 LETTER;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER;LETTER 001021* 1672 001022* 1672 001023* 1672 001024* 1672 001025* 1672 001026* 1672 001027* 1672 5315 / 3 0 1 2 3 4 5 6 7 3 5316 / X Y Z [ \ ] ^ BKARROW 5317 / 30 31 32 33 34 35 36 37 5318 001030* 1672 LETTER;LETTER;LETTER;LBRAK ;ILLCHR;RBRAK ;UPARRX;TAB 001031* 1672 001032* 1672 001033* 1601 001034* 0772 001035* 1605 001036* 0405 001037* 0464 5319 / 4 0 1 2 3 4 5 6 7 4 5320 / BLANK ! " # $ % & ' 5321 / 40 41 42 43 44 45 46 47 5322 001040* 0464 SPACE ;BAR ;XDQUO ;NUMSGN;DOLLAR;PRCENT;AMPSND;QUOTE 001041* 0404 001042* 1430 001043* 1602 001044* 3534 001045* 0400 001046* 0401 001047* 2360 5323 / 5 0 1 2 3 4 5 6 7 5 5324 / ( ) * + , - . / 5325 / 50 51 52 53 54 55 56 57 5326 001050* 1600 LPARN ;RPARN ;STAR ;PLUS ;COMMA ;MINUS ;POINT ;COMMNT 001051* 1606 001052* 0600 001053* 0402 001054* 2600 001055* 0403 001056* 1535 001057* 3535 5327 / 6 0 1 2 3 4 5 6 7 6 5328 / 0 1 2 3 4 5 6 7 5329 / 60 61 62 63 64 65 66 67 5330 001060* 1673 DIGIT ;DIGIT ;DIGIT ;DIGIT ;DIGIT ;DIGIT ;DIGIT ;DIGIT 001061* 1673 001062* 1673 001063* 1673 001064* 1673 001065* 1673 001066* 1673 001067* 1673 5331 / 7 0 1 2 3 4 5 6 7 7 5332 / 8 9 : ; < = > ? 5333 / 70 71 72 73 74 75 76 77 5334 001070* 1673 DIGIT ;DIGIT ;COMMA ;EOS ;BRKTRP;EQU ;TESTLI;ILLCHR 001071* 1673 001072* 2600 001073* 0336 001074* 0333 001075* 0703 001076* 1656 001077* 0772 5335 / 0 0 1 2 3 4 5 6 7 0 5336 *XTRATAB /OVER UNNEEDED PART OF TABLE 5337 5338 / "SIXBIT" PSEUDO-OP PROCESSOR. 5339 5340 001000* 1055 XSXBIT, TAD L40/[40] /GET INVERSION BIT 5341 5342 / "TEXT" PSEUDO-OP PROCESSOR. 5343 5344 001001* 3170 XTEXT, DCA INVRT /SAVE TEXT MODE 5345 001002* 3171 DCA TXTCNT /ALLOW ANY NUMBER OF OUTPUT WORDS 5346 001003* 1377 TAD (JMP DOTEXT) /SETUP FOR 5347 001004* 3214 DORFIN, DCA TXTZP1 /[TEXT OR SIXBIT] (OR [FILNAME OR DEVICE]) 5348 001005* 1073 TAD CHAR /GET DELIMITER 5349 001006* 4424 TSPACE /TEST IF OR 5350 001007* 5306 JMP TNXT /OK 5351 001010* 4431 JMS I GCH/[XGCH] /GET NEXT 5352 001011* 5206 JMP .-3 /TEST AGAIN 5353 5354 001012* 0000 GIVTXT, .-. /TEXT CHECK ROUTINE 5355 001013* 3076 DCA RESULT /SAVE PREVIOUS HALF 5356 001014* 7410 TXTZP1, SKP /**** TEXT OR SIXBIT **** JMP DOTEXT 5357 /**** DEVICE OR FILENAME **** 0000 OR SKP OR ASCII 5358 /**** DEVICE OR FILENAME FIRST TIME **** SKP 5359 001015* 4431 JMS I GCH/[XGCH] /GET NEXT CHARACTER 5360 001016* 3214 DCA TXTZP1 /ENABLE FURTHER INPUT 5361 001017* 4357 JMS TSTAON /TEST IF ALPHANUMERIC 5362 001020* 5343 JMP ANGOOD /IT IS 5363 001021* 1301 TAD FNMSKP/(SKP) /GET "SKP" INSTRUCTION 5364 001022* 3214 DCA TXTZP1 /STORE IN-LINE TO PREVENT FURTHER INPUT 5365 001023* 5612 JMP I GIVTXT /RETURN WITH ZERO 5366 5367 001024* 0000 TOSSIT, .-. /TOSS ALPHANUMERICS ROUTINE 5368 001025* 1214 TAD TXTZP1 /GET CHARACTER FLAG 5369 001026* 7700 SMA CLA /NON-ALPHA-NUMERIC CAPTURED? 5370 001027* 4431 JMS I GCH/[XGCH] /NO, GET ONE 5371 001030* 4357 JMS TSTAON /CHECK IF ALPHANUMERIC 5372 001031* 5227 JMP .-2 /YES, THROW IT AWAY 5373 001032* 5624 JMP I TOSSIT /NO, RETURN NOW 5374 *XTRATAB+100 /PAST TABLE 5375 5376 / "FILENAME" PSEUDO-OP PROCESSOR. 5377 5378 001100* 1301 XFLNAM, TAD FNMSKP/(SKP) /ALLOW EXTENSION TEST 5379 001101* 7410 FNMSKP, SKP /LEAVE TXTCNT AT -3 5380 5381 / "DEVICE" PSEUDO-OP PROCESSOR. 5382 5383 001102* 2171 XDVICE, ISZ TXTCNT /BUMP TXTCNT TO -2 5384 001103* 3322 DCA TXTZP2 /DISALLOW EXTENSION TEST 5385 001104* 1301 TAD FNMSKP/(SKP) /GET "SKP" INSTRUCTION 5386 001105* 5204 JMP DORFIN /CONTINUE THERE 5387 5388 / TEXT PROCESSING CONTINUES HERE AFTER ANY CHARACTERS ARE TOSSED. 5389 5390 001106* 1073 TNXT, TAD CHAR /GET DELIMITER 5391 001107* 7041 CIA /INVERT AND 5392 001110* 3357 DCA TSTAON /SAVE FOR DELIMITER MATCHING 5393 001111* 4212 TNXTCH, JMS GIVTXT /GET A CHARACTER 5394 001112* 4534 JMS I ROR6/[XROR6] /MOVE TO 5395 001113* 7010 RAR /THE LEFT 5396 001114* 4212 JMS GIVTXT /GET NEXT 5397 001115* 1076 TAD RESULT /ADD ON PREVIOUS 5398 001116* 4444 BLKEXT, JMS I PUTWD/[XPUTWD] /OUTPUT IT 5399 001117* 4440 JMS I PRTBUF/[XPRTBF] /PRINT SOURCE LINE 5400 001120* 2171 ISZ TXTCNT /OUTPUTTED ENOUGH? 5401 001121* 5311 JMP TNXTCH /NO, GO DO ANOTHER PAIR 5402 001122* 0000 TXTZP2, 0000 /**** EXTENSION TEST ALLOWED **** SKP 5403 001123* 5351 JMP TXTXIT /FINISH UP 5404 001124* 7240 NL7777 /ALLOW ONLY 5405 001125* 3171 DCA TXTCNT /ONE MORE PAIR 5406 001126* 3322 DCA TXTZP2 /DON'T ALLOW ANOTHER EXTENSION TEST 5407 001127* 4224 JMS TOSSIT /THROW AWAY ANY FURTHER ALPHANUMERICS 5408 001130* 1073 TAD CHAR /GET DELIMITER 5409 001131* 1376 TAD (-".!200) /IS DELIMITER A "."? 5410 001132* 7640 SZA CLA /SKIP IF SO 5411 001133* 5316 JMP BLKEXT /GIVE NULL EXTENSION VALUE 5412 5413 / WE CAN ATTEMPT TO SCAN AN EXTENSION. 5414 5415 001134* 5311 JMP TNXTCH /KEEP GOING 5416 5417 / COMES HERE IF DOING "TEXT" OR "SIXBIT". 5418 5419 001135* 4431 DOTEXT, JMS I GCH/[XGCH] /GET NEXT CHARACTER 5420 001136* 7440 SZA /END OF LINE? 5421 001137* 1357 TAD TSTAON /NO, ALLOW DELIMITER CHECK 5422 001140* 7650 SNA CLA /END OF STRING? 5423 001141* 5346 JMP ZERTST /YES, FINISH UP 5424 001142* 1170 TAD INVRT /GET INVERSION BIT 5425 001143* 1073 ANGOOD, TAD CHAR /ADD ON LATEST CHARACTER 5426 001144* 0136 AND L77/[77] /JUST 6-BIT 5427 001145* 5612 JMP I GIVTXT /RETURN 5428 / COMES HERE TO FINISH UP TEXT PROCESSING. 5429 5430 001146* 1076 ZERTST, TAD RESULT /GET THE VALUE 5431 001147* 7000 ZERSWT, NOP /**** /J **** SZA 5432 001150* 4444 JMS I PUTWD/[XPUTWD] /OUTPUT AN EXTRA WORD 5433 001151* 4224 TXTXIT, JMS TOSSIT /TOSS ANY EXTRA ALPHANUMERICS 5434 001152* 4422 TEOS /ARE WE AT ? 5435 001153* 4431 JMS I GCH/[XGCH] /NO, GET ANOTHER CHARACTER 5436 001154* 7346 NL7775 /RESET FOR 5437 001155* 3171 DCA TXTCNT /DEVICE, FILENAME 5438 001156* 5775 JMP I (NEWT1) /GO TEST REST OF LINE THERE 5439 5440 001157* 0000 TSTAON, .-. /TEST IF VALID P?S/8 ALPHANUMERIC 5441 001160* 1073 TAD CHAR /GET LATEST CHARACTER 5442 001161* 7440 SZA /? 5443 001162* 1063 TAD L7741/[-37] /NO, ALPHA? 5444 001163* 7710 SPA CLA /SKIP IF NOT 5445 001164* 5757 JMP I TSTAON /JUMP IF SO 5446 001165* 1073 TAD CHAR /GET CHARACTER AGAIN 5447 001166* 1374 TAD (-":!200) /BIAS FOR TEST 5448 001167* 7100 CLL /CLEAR LINK FOR TEST 5449 001170* 1147 TAD L12/["9-"0+1] /ADD LEGAL RANGE 5450 001171* 7620 SNL CLA /SKIP IF NUMERIC 5451 001172* 2357 ISZ TSTAON /BUMP RETURN 5452 001173* 5757 JMP I TSTAON /RETURN 5453 5454 001174* 7706 PAGE 001175* 3503 001176* 7722 001177* 5335 5455 5456 RELOC /SEE WHERE WE ARE 5457 5458 ASMSIZE=.-ASMCODE%200 /NUMBER OF BLOCKS IN THIS OVERLAY 5459 5460 OVLYBLK=OVLYBLK+ASMSIZE /NEXT OVERLAY BLOCK 5461 STOCOD, *7777 /END OF AN 5462 *7777 /OVERLAY 5463 5464 *STOCOD /RESTORE ORIGIN 5465 5466 RELOC 200 /WHERE IT GOES IN FIELD 0 5467 5468 STOBLK= OVLYBLK /BLOCK NUMBER FOR OVERLAY 5469 5470 XSYMWK= . /BEGINNING OF OVERLAY HERE 5471 5472 000200* 5601 BLPTR, JMP I .+1/(XSYMW2) /MESSAGE ADDRESS SAVED HERE 5473 000201* 0400 BLPTR2, XSYMW2 /TEMPORARY 5474 5475 / SUB-TITLE INTERCEPT ROUTINE (ALSO USED BY CROSS-REFERENCE OVERLAY). 5476 5477 000202* 4437 BLBAK, JMS I PCRLF/[XPCRLF] /DO A , NOW 5478 000203* 7410 BLBZAP, SKP /**** TRIVIAL SUB-TITLE BLURB **** 0000 5479 000204* 4437 JMS I PCRLF/[XPCRLF] /DO ANOTHER 5480 000205* 1200 TAD BLPTR /GET MESSAGE POINTER 5481 000206* 3201 DCA BLPTR2 /SET IT UP 5482 000207* 1601 BLLOOP, TAD I BLPTR2 /GET A PAIR 5483 000210* 4534 JMS I ROR6/[XROR6] /BSW IT 5484 000211* 4446 JMS I P6CH/[XP6CH] /PRINT IT 5485 000212* 1601 TAD I BLPTR2 /GET AGAIN 5486 000213* 0136 AND L77/[77] /JUST RIGHT HALF 5487 000214* 7450 SNA /? 5488 000215* 5221 JMP BLOUT /YES 5489 000216* 4446 JMS I P6CH/[XP6CH] /NO, PRINT IT 5490 000217* 2201 ISZ BLPTR2 /BUMP TO NEXT 5491 000220* 5207 JMP BLLOOP /GO DO NEXT 5492 5493 000221* 4437 BLOUT, JMS I PCRLF/[XPCRLF] /DO A , 5494 000222* 4437 JMS I PCRLF/[XPCRLF] /DO ANOTHER 5495 000223* 0000 DBLZAP, 0000 /**** TRIVIAL SUB-TITLE BLURB **** SKP 5496 000224* 4437 JMS I PCRLF/[XPCRLF] /DO ANOTHER 5497 000225* 1232 TAD BL0001/(NL0001) /MAKE IT DO TWO LESS 5498 000226* 3631 DCA I PNZAP8/(SLNZP8) /, SEQUENCES 5499 000227* 5630 JMP I .+1/(NOFRM2+1) /GO BACK TO HEADER ROUTINE 5500 000230* 3300 NOFRM2+1 /THROUGH HERE 5501 5502 000231* 3264 PNZAP8, SLNZP8 /WHERE TO PUT ZAP 5503 000232* 7201 BL0001, NL0001 /INSTRUCTION CONSTANT 5504 000233* 0000 BLPRT, .-. /SUB-TITLE PRINT ROUTINE 5505 000234* 3200 DCA BLPTR /SAVE ADDRESS OF MESSAGE 5506 000235* 1653 TAD I PPRTTITLE/(PRTTITLE) /GET POTENTIALLY ZAPPED WORD 5507 000236* 1254 TAD MXNOPRTN/(-XNOPRTN) /IS IT ZAPPED TO REALLY PRINT TITLES? 5508 000237* 7650 SNA CLA /SKIP IF SO 5509 000240* 5633 JMP I BLPRT /RETURN IF INTACT 5510 000241* 1247 TAD BLJMP/(NOFRM2&177+JMPIC)/GET ZAP INSTRUCTION 5511 000242* 3650 DCA I BLZAP1/(NOFRM2-1) /ZAP IT IN 5512 000243* 1251 TAD BLBACK/(BLBAK) /GET RETURN 5513 000244* 3652 DCA I BLZAP2/(NOFRM2) /ZAP IT IN ALSO 5514 000245* 2233 ISZ BLPRT /BUMP TO SUCCESSFUL 5515 000246* 5633 JMP I BLPRT /RETURN 5516 5517 000247* 5677 BLJMP, NOFRM2&177+JMPIC /"JMP I NOFRM2" 5518 000250* 3276 BLZAP1, NOFRM2-1 /WHERE TO PUT IT 5519 000251* 0202 BLBACK, BLBAK /RETURN ADDRESS 5520 000252* 3277 BLZAP2, NOFRM2 /WHERE IT GOES 5521 000253* 3374 PPRTTIT,PRTTITL /WHERE /N ZAP MAY BE 5522 000254* 4412 MXNOPRT,-XNOPRTN /WHAT COULD BE THERE 5523 / CONTROL WILL RETURN TO HERE AFTER ENTIRE CROSS-REFERENCE IS OVER! 5524 5525 000255* 1312 NOTLAX, TAD TITSTOP/(NOFRM2+1&177+JMPC) /PREVENT FURTHER 5526 000256* 3713 DCA I PNOPTIT/(NOPTITLE) /TITLES AND SUB-TITLES 5527 000257* 1314 TAD TITST2/(XPCRLF&177+JMPIC) /FAKE OUT A 5528 000260* 3715 DCA I PNOPTT2/(NOPTT2) /RETURN TO US 5529 000261* 1347 TAD AOUR/(OURADR) /GET OUR RETURN ADDRESS 5530 000262* 3437 DCA I PCRLF/[XPCRLF] /INTO A HANDY HEADER 5531 000263* 5664 JMP I .+1/(SLNZP8) /THIS WILL ACTUALLY DO THE EJECT 5532 000264* 3264 SLNZP8 /THROUGH HERE 5533 5534 000265* 1717 OURADR, TAD I OSWMX/(SWMX) /GET /M-/X 5535 000266* 7710 SPA CLA /SKIP IF /M NOT SET 5536 000267* 5276 JMP SLMSET /JUMP IF /M IS SET 5537 000270* 1117 TAD ERRTOT /GET ERROR COUNT 5538 000271* 7640 CRIOP, SZA CLA /SKIP IF NO ERRORS 5539 000272* 5523 JMP I L7600/[SBOOT] /FORGET IT 5540 000273* 1717 TAD I OSWMX/(SWMX) /\ 5541 000274* 0321 AND L7377/(7377) / >ELIMINATE /P 5542 000275* 3717 DCA I OSWMX/(SWMX) // 5543 000276* 1117 SLMSET, TAD ERRTOT /STORE THE ERROR COUNT 5544 000277* 3437 DCA I PCRLF/[XPCRLF] /FOR BITMAP (TO DECIDE TO CHAIN TO BIN) 5545 000300* 1720 TAD I ONEXT/(LNEXT) /GET NEXT PROCESS ADDRESS 5546 000301* 3025 DCA TMP /SET IT UP 5547 000302* 1157 TAD OUTPTR /GET CURRENT OUTPUT POINTER 5548 000303* 1322 TAD BUSD/(-BDFLST-2) /COMPARE TO MAGIC VALUE 5549 000304* 7650 SNA CLA /SKIP IF NOT /D AND "%", "$" USED 5550 000305* 5425 JMP I TMP /ON TO NEXT IF ALL TRUE 5551 000306* 1716 TAD I OSWAL/(SWAL) /\ 5552 000307* 0321 AND L7377/(7377) / >FORCE OFF /D SWITCH 5553 000310* 3716 DCA I OSWAL/(SWAL) // 5554 000311* 5425 JMP I TMP /GO DO IT 5555 5556 000312* 5300 TITSTOP,NOFRM2+1&177+JMPC /"JMP NOFRM2+1" 5557 000313* 3274 PNOPTIT,NOPTIT /WHERE TO INHIBIT TITLES 5558 000314* 5646 TITST2, XPCRLF&177+JMPIC /"JMP I XPCRLF" 5559 000315* 3302 PNOPTT2,NOPTT2 /WHERE TO CREATE FUDGED RETURN 5560 000316* 7604 OSWAL, SWAL /POINTER TO /A-/L SWITCHES 5561 000317* 7605 OSWMX, SWMX /POINTER TO /M-/X SWITCHES 5562 000320* 2774 ONEXT, LNEXT /WHERE NEXT ADDRESS IS 5563 000321* 7377 L7377, 7377 /CONSTANT 7377 5564 000322* 5001 BUSD, -BDFLST-2 /MAGIC VALUE IF /D AND BOTH FILES USED 5565 000323* 0757 PCRBLB, CRFBLB /POINTER TO CROSS-REFERENCE SUB-TITLE 5566 000324* 3055 XFUDGE, "X^100+"--200 /USE "X-" PAGES IN CROSS-REFERENCE 5567 000325* 4747 PAGEX, DAYBLB+13 /WHERE TO PUT IT 5568 000326* 2176 PCRFUN, CRFUN /WHERE OVERLAY FUNCTION IS 5569 000327* 2177 PCRBLK, CRFOVB /WHERE OVERLAY BLOCK NUMBER IS 5570 000330* 2667 PCRERRP,CRERRP /WHERE ADDRESS WITHIN XREF OVERLAY IS 5571 000331* 4644 CPAGNUM,PAGNUM /WHERE PAGE NUMBER IS 5572 000332* 0716 CHECKX, AND I OSWAL/(SWAL) /JUST /L 5573 000333* 0717 AND I OSWMX/(SWMX) /JUST /L AND /X 5574 000334* 7650 SNA CLA /SKIP IF BOTH SET 5575 000335* 5255 JMP NOTLAX /JUMP IF OTHERWISE 5576 000336* 7332 NL2000 /CHECK FOR /N 5577 000337* 0717 AND I OSWMX/(SWMX) /AND JUST /N 5578 000340* 7650 SNA CLA /SKIP IF SET 5579 000341* 5350 JMP AOUR+1 /JUMP IF NOT 5580 000342* 1324 TAD XFUDGE/("X^100+"--200) /MAKE IT PRINT 5581 000343* 3725 DCA I PAGEX/(DAYBLB+13) /"PAGE X-" 5582 000344* 3731 DCA I CPAGNUM/(PAGNUM) /START AT PAGE X-1 5583 000345* 1323 TAD PCRBLB/(CRFBLB) /SETUP FOR 5584 000346* 4233 JMS BLPRT /CROSS-REFERENCE SUB-TITLE 5585 000347* 0265 AOUR, OURADR /HERE JUST IN CASE 5586 000350* 1730 TAD I PCRERRP/(CRERRP) /GET XREF ADDRESS CONSTANT 5587 000351* 1365 TAD CFUN /ADD ON OFFSET 5588 000352* 3365 DCA CFUN /STASH IT 5589 000353* 7240 NL7777 /INDICATE CLOSE 5590 000354* 4765 JMS I CFUN /CALL PUTREF ROUTINE 5591 000355* 2366 ISZ CBLK /DONE ENOUGH? 5592 000356* 5353 JMP .-3 /NO, KEEP GOING 5593 000357* 1726 TAD I PCRFUN/(CRFUN) /GET OUR NEXT FUNCTION WORD 5594 000360* 3365 DCA CFUN /SET IT UP 5595 000361* 1727 TAD I PCRBLK/(CRFOVB) /GET OUR NEXT BLOCK 5596 000362* 3366 DCA CBLK /SET IT UP 5597 000363* 4671 JMS I CRIOP/(SYSIO) /CALL I/O ROUTINES 5598 000364* 0400 0400 /TO READ IN 5599 000365* 7744 CFUN, PUTREF-CRFERR /THE CROSS-REFERENCE 5600 000366* 7600 CBLK, -200 /SORT OVERLAY 5601 5602 000367* 0000 ZBLOCK .+177&7600-. /EMPTY SPACE 000370* 0000 000371* 0000 000372* 0000 000373* 0000 000374* 0000 000375* 0000 000376* 0000 000377* 0000 5603 PAGE 5604 5605 000400* 2053 XSYMW2, ISZ LSTSW /FORCE LISTING ON 5606 000401* 4526 JMS I PEJECT/[DEJECT] /FORCE AN EJECT 5607 000402* 3145 DCA ECHOSW /FORCE ECHO ON 5608 000403* 3000 DCA RCDCNT /FOR "AND" INSTRUCTIONS 5609 000404* 1720 TESTES, TAD I SRTSRC/(SWMX) /TEST FOR /S 5610 000405* 0055 AND L40/[40] /AND JUST /S 5611 000406* 7450 SNA /SKIP IF SET 5612 000407* 3640 DCA I SRTMOVE/(SRTCALL) /INHIBIT SYMBOL SORT 5613 000410* 7650 SNA CLA /SKIP IF SET 5614 000411* 5227 JMP TESTP /TEST FOR /P OR LPT: 5615 000412* 1752 TAD I PSWAL/(SWAL) /TEST FOR /A 5616 000413* 7700 SMA CLA /SKIP IF SET 5617 000414* 5220 JMP DOUSER /JUMP IF NOT 5618 000415* 3662 DCA I SRTCOMP/(SLAZP1) /ALLOW ALL SYMBOLS TO PRINT OUT 5619 000416* 3754 DCA I SLA1/(SLAZP2) /PREVENT THE TRIVIAL BLURB 5620 000417* 5227 JMP TESTP /DON'T MODIFY THE BLURB 5621 5622 000420* 1344 DOUSER, TAD UMSG /\ 5623 000421* 3751 DCA I PSBLB2/(SYMBLB+2) / \ 5624 000422* 1351 TAD PSBLB2/(SYMBLB+2) / \ 5625 000423* 3762 DCA I SLSZP1/(PSYMBLB) / >SETUP FOR USER BLURB 5626 000424* 2351 ISZ PSBLB2/(SYMBLB+2) / / 5627 000425* 1345 TAD UMSG+1 / / 5628 000426* 3751 DCA I PSBLB2/(SYMBLB+2) // 5629 000427* 1720 TESTP, TAD I SRTSRC/(SWMX) /TEST FOR /P 5630 000430* 0353 AND P400/(400) /AND JUST /P 5631 000431* 7640 SZA CLA /SKIP IF NOT SET 5632 000432* 5363 JMP DOPZAP /JUMP IF SET 5633 000433* 1750 TAD I PLSEP/(LSEP) /TEST FOR 5634 000434* 1347 TAD L7764/(-14) /AN LPT: 5635 000435* 7650 SNA CLA /SKIP IF WE DON'T HAVE LPT: 5636 000436* 5367 JMP DOLPTZP /JUMP IF WE HAVE ONE 5637 000437* 5371 JMP SQUISH /JUMP IF NOT LPT: 5638 000440* 0651 SRTMOVE,SRTCALL /SORT MOVE ROUTINE 5639 000441* 1260 TAD SRTCDF/(CDF) /ADD ON "CDF" INSTRUCTION 5640 000442* 3254 DCA SCDFT1 /SAVE AS TARGET FIELD 5641 000443* 7430 SZL /SKIP IF NO ARGUMENT PRESENT 5642 000444* 1640 TAD I SRTMOVE /GET ARGUMENT 5643 000445* 4320 JMS SRTSRC /SETUP SOURCE POINTER 5644 000446* 2240 ISZ SRTMOVE /BUMP AROUND 5645 000447* 3252 DCA SCDFS1 /SAVE SOURCE FIELD 5646 000450* 1066 TAD L7774/[-4] /SET FOR 5647 000451* 3262 DCA SRTCOMP /FOUR WORDS 5648 000452* 6201 SCDFS1, CDF 00 /GET INTO SOURCE FIELD 5649 000453* 1413 TAD I SXR /GET A WORD 5650 000454* 6201 SCDFT1, CDF 00 /GOTO TARGET FIELD 5651 000455* 3414 DCA I TXR /STASH A WORD 5652 000456* 2262 ISZ SRTCOMP /DONE ALL YET? 5653 000457* 5252 JMP SCDFS1 /NO, GO BACK 5654 000460* 6201 SRTCDF, CDF 00 /MAKE SURE 5655 000461* 5640 JMP I SRTMOVE /RETURN 5656 5657 000462* 0614 SRTCOMP,SLAZP1 /SORT COMPARE ROUTINE 5658 000463* 1260 TAD SRTCDF/(CDF) /ADD ON CDF INSTRUCTION 5659 000464* 3304 DCA SCDFT2 /SAVE AS TARGET FIELD 5660 000465* 7430 SZL /SKIP IF NO ARGUMENT PRESENT 5661 000466* 1662 TAD I SRTCOMP /GET ARGUMENT 5662 000467* 4320 JMS SRTSRC /SETUP SOURCE POINTER 5663 000470* 2262 ISZ SRTCOMP /BUMP AROUND 5664 000471* 3277 DCA SCDFS2 /SAVE SOURCE FIELD 5665 000472* 7346 NL7775 /SET FOR 5666 000473* 3072 DCA ANY /THREE WORDS 5667 000474* 7330 NL4000 /SETUP FOR 1777 MASK 5668 000475* 7150 NXTCOMP,CLL CMA RAR /1777 FIRST TIME, 3777 FOLLOWING TIMES 5669 000476* 3240 DCA SRTMOVE /SAVE MASK 5670 000477* 6201 SCDFS2, CDF 00 /GET INTO SOURCE FIELD 5671 000500* 1413 TAD I SXR /GET WORD 5672 000501* 0240 AND SRTMOVE /JUST SYMBOL BITS 5673 000502* 7141 CLL CIA /COMPLEMENT FOR TEST 5674 000503* 3320 DCA SRTSRC /SAVE IT 5675 000504* 6201 SCDFT2, CDF 00 /GOTO TARGET FIELD 5676 000505* 1414 TAD I TXR /ADD ON TARGET WORD 5677 000506* 0240 AND SRTMOVE /JUST SYMBOL BITS 5678 000507* 1320 TAD SRTSRC /COMPARE TO FIRST 5679 000510* 7640 SZA CLA /SKIP IF THEY MATCH 5680 000511* 5314 JMP SWAPIT /JUMP IF THEY DON'T 5681 000512* 2072 ISZ ANY /DONE ALL YET? 5682 000513* 5275 JMP NXTCOMP /NO, GO BACK 5683 000514* 7430 SWAPIT, SZL /SKIP IF SOURCE GREATER THAN TARGET 5684 000515* 2262 ISZ SRTCOMP /BUMP RETURN OTHERWISE 5685 000516* 6201 CDF 00 /MAKE SURE 5686 000517* 5662 JMP I SRTCOMP /RETURN 5687 000520* 7605 SRTSRC, SWMX /SOURCE SETUP ROUTINE 5688 000521* 7420 SNL /SKIP IF AN ARGUMENT 5689 000522* 2320 ISZ SRTSRC /ELSE TAKE SKIP RETURN 5690 000523* 7420 SNL /SKIP IF ARGUMENT PRESENT 5691 000524* 5331 JMP .+5 /JUMP IF NO ARGUMENT 5692 000525* 7040 CMA /MAKE INTO A SYMBOL NUMBER 5693 000526* 3007 DCA SYMNUM /STASH IT 5694 000527* 4450 JMS I SETSYM/[XSETSM] /SETUP POINTERS 5695 000530* 6214 RDF /GET DATA FIELD 5696 000531* 1260 TAD SRTCDF/(CDF) /MAKE INTO CDF INSTRUCTION 5697 000532* 5720 JMP I SRTSRC /RETURN 5698 5699 000533* 1617 DUMBLB, TEXT "NO USEFUL OUTPUT!" 000534* 4025 000535* 2305 000536* 0625 000537* 1440 000540* 1725 000541* 2420 000542* 2524 000543* 4100 5700 000544* 2523 UMSG, TEXT "USER" 000545* 0522 5701 000546* 7110 L7110, 7110 /CONSTANT 7110 5702 000547* 7764 L7764, 7764 /CONSTANT 7764 5703 000550* 3372 PLSEP, LSEP /POINTER TO LPT: TEST 5704 000551* 0716 PSBLB2, SYMBLB+2 /WHERE "USER" MESSAGE GOES 5705 000552* 7604 PSWAL, SWAL /POINTER TO /A-/L 5706 000553* 0400 P400, 400 /CONSTANT 0400 5707 000554* 1371 SLA1, SLAZP2 /WHERE TO INHIBIT TRIVIAL MESSAGE 5708 000555* 7606 SLP0, 7606 /CORRECT AMOUNT FOR 8 COLUMNS 5709 000556* 1336 SLP1, COLIMT /WHERE TO PUT IT 5710 000557* 1337 SLP2, SYMPAG /WHERE TO ZAP FOR 8*55 SYMBOLS PER PAGE 5711 000560* 4445 SLP3, JMS I P45CH/[XP45CH] /WIDENING INSTRUCTION 5712 000561* 1305 SLP4, LINEXT-2 /WHERE TO PUT IT 5713 000562* 1157 SLSZP1, PSYMBLB /WHERE TO CHANGE SYMBOL MESSAGE ADDRESS 5714 000563* 1355 DOPZAP, TAD SLP0/(-172) /ALLOW FOR 5715 000564* 3756 DCA I SLP1/(COLIMT) /8 COLUMNS 5716 000565* 1346 TAD L7110/(-670) /USE 440 SYMBOLS 5717 000566* 3757 DCA I SLP2/(SYMPAG) /PER PAGE 5718 000567* 1360 DOLPTZP,TAD SLP3/(JMS I P45CH/[XP45CH]) /ALLOW WIDER 5719 000570* 3761 DCA I SLP4/(LINEXT-2) /OUTPUT FORMAT 5720 000571* 3025 SQUISH, DCA TMP /ASSUME NO 5721 000572* 3076 DCA RESULT /SYMBOLS PRESENT 5722 000573* 3007 DCA SYMNUM /LOCATE BEGINNING 5723 000574* 4450 JMS I SETSYM/[XSETSM] /OF SYMBOL TABLE 5724 000575* 6214 RDF /GET DATA FIELD OF SYMBOL TABLE START 5725 000576* 7650 SNA CLA /SKIP IF NOT FIELD 0 5726 000577* 1054 TAD L200/[200] /GET ADJUSTMENT FACTOR 5727 000600* 3254 DCA THRWSM /SAVE ADJUSTMENT FACTOR 5728 000601* 6214 RDF /GET DATA FIELD AGAIN 5729 000602* 1215 TAD SQUCDF /MAKE IT A CDF INSTRUCTION 5730 000603* 3215 DCA SQUCDF /STORE CORRECT DATA FIELD 5731 000604* 1013 TAD SXR /GET STARTING INDEX 5732 000605* 3014 DCA TXR /SAVE IT 5733 000606* 7201 NL0001 /START AT THE BEGINNING 5734 000607* 4503 SQULUP, JMS I GETSYM/[GETSM] /GET A SYMBOL 5735 000610* 5244 JMP STRESET /ALL DONE 5736 000611* 2076 ISZ RESULT /COUNT THIS SYMBOL 5737 000612* 1112 TAD NM2 /TEST FOR A PERMANENT 5738 000613* 7710 SPA CLA /SKIP IF NOT PERMANENT SYMBOL 5739 000614* 5207 SLAZP1, JMP SQULUP /**** /A **** 0000 5740 000615* 6201 SQUCDF, CDF 00 /GET INTO CORRECT DATA FIELD 5741 000616* 1111 TAD NM1 /\ 5742 000617* 3414 DCA I TXR / \ 5743 000620* 1112 TAD NM2 / \ 5744 000621* 3414 DCA I TXR / \MOVE SYMBOL TO 5745 000622* 1113 TAD NM3 / /ITS NEW HOME 5746 000623* 3414 DCA I TXR / / 5747 000624* 1135 TAD SVAL / / 5748 000625* 3414 DCA I TXR // 5749 000626* 6201 CDF 00 /BACK TO FIELD 0 5750 000627* 2025 ISZ TMP /COUNT THIS SYMBOL 5751 000630* 1254 TAD THRWSM /GET ADJUSTMENT FACTOR 5752 000631* 1014 TAD TXR /GET INDEX 5753 000632* 7040 CMA /TEST FOR END OF FIELD 5754 000633* 7640 SZA CLA /SKIP IF END OF FIELD 5755 000634* 5207 JMP SQULUP /JUMP IF NOT 5756 000635* 1267 TAD XPUT45/(10) /BUMP TO 5757 000636* 1215 TAD SQUCDF /NEXT FIELD 5758 000637* 3215 DCA SQUCDF /PUT IT BACK 5759 000640* 3254 DCA THRWSM /ZERO ADJUSTMENT FACTOR 5760 000641* 7240 NL7777 /RESET 5761 000642* 3014 DCA TXR /POINTER 5762 000643* 5207 JMP SQULUP /AND GO GET ANOTHER 5763 000644* 1025 STRESET,TAD TMP /GET NEW SYMBOL COUNT 5764 000645* 7041 CIA /MAKE NEGATIVE 5765 000646* 3067 DCA MSTSIZ /AND SAVE FOR LATER 5766 000647* 1067 TAD MSTSIZ /RECOVER NUMBER OF SYMBOLS 5767 000650* 7640 SZA CLA /SKIP IF NO SYMBOLS 5768 000651* 5377 SRTCALL,JMP SYMSORT /**** NOT /S **** 0000 5769 000652* 5653 JMP I .+1/(STATPR) /NOW GO PRINT THE STATISTICS 5770 000653* 1366 STATPR /THROUGH HERE 5771 5772 000654* 0000 THRWSM, .-. /SYMBOL THROWAWAY ROUTINE 5773 000655* 3072 DCA ANY /SAVE COUNT 5774 000656* 5263 JMP THRAGN /START THERE 5775 5776 000657* 1001 THROW1, TAD EQUSW /GET SYMBOL START (OR 0) 5777 000660* 4503 JMS I GETSYM/[GETSM] /GET A SYMBOL 5778 000661* 5654 JMP I THRWSM /NO MORE SYMBOLS, RETURN IMMEDIATE 5779 000662* 3001 DCA EQUSW /CLEAR RESET 5780 5781 000663* 2072 THRAGN, ISZ ANY /DONE ALL YET? 5782 000664* 5257 JMP THROW1 /NO, DO ANOTHER 5783 000665* 2254 ISZ THRWSM /BUMP RETURN ADDRESS 5784 000666* 5654 JMP I THRWSM /RETURN 5785 5786 000667* 0010 XPUT45, 10 /RADIX 45 MESSAGE PRINTER 5787 /USED AS A CONSTANT 0010 BY SQUISH 5788 000670* 7041 CIA /\ 5789 000671* 7001 IAC / \ 5790 000672* 7650 SNA CLA / \SETUP FOR SINGLE 5791 000673* 1311 TAD NOS/(-"S!300) / /A LINE ITEM 5792 000674* 1313 TAD L4000/(4000) / / 5793 000675* 3312 DCA XPUTMP // 5794 000676* 1667 XPUTLP, TAD I XPUT45 /GET A PAIR 5795 000677* 2267 ISZ XPUT45 /BUMP POINTER 5796 000700* 7450 SNA /END OF MESSAGE? 5797 000701* 5306 JMP XPUTOUT /YES 5798 000702* 7510 SPA /NO, FIXUP NEEDED? 5799 000703* 1312 TAD XPUTMP /YES, ADD ON APPROPRIATE FUDGE 5800 000704* 4445 JMS I P45CH/[XP45CH] /GO PRINT THE PAIR 5801 000705* 5276 JMP XPUTLP /NOW GO GET NEXT PAIR 5802 5803 000706* 4437 XPUTOUT,JMS I PCRLF/[XPCRLF] /TERMINATE LINE WITH 5804 000707* 4437 JMS I PCRLF/[XPCRLF] /A DOUBLE SPACE 5805 000710* 5667 JMP I XPUT45 /AND RETURN 5806 000711* 7755 NOS, -"S!300 /MAKES MESSAGES LOOK NICE 5807 000712* 0000 XPUTMP, .-. /TEMPORARY 5808 000713* 4000 L4000, 4000 /CONSTANT 4000 5809 5810 000714* 0317 SYMBLB, TEXT "COMPLETE SYMBOL TABLE LISTING" 000715* 1520 000716* 1405 000717* 2405 000720* 4023 000721* 3115 000722* 0217 000723* 1440 000724* 2401 000725* 0214 000726* 0540 000727* 1411 000730* 2324 000731* 1116 000732* 0700 5811 / TEXT "COMPUSER SYMBOL TABLE LISTING"; IF USER MESSAGE 5812 000733* 2427 BLSMSG, TEXT "TWO PASS ASSEMBLY ";3740 000734* 1740 000735* 2001 000736* 2323 000737* 4001 000740* 2323 000741* 0515 000742* 0214 000743* 3140 000744* 3740 5813 / TEXT "ONE PASS ASSEMBLY ";3740; IF ONE PASS 5814 000745* 0123 STBLB, TEXT "ASSEMBLY STATISTICS" 000746* 2305 000747* 1502 000750* 1431 000751* 4023 000752* 2401 000753* 2411 000754* 2324 000755* 1103 000756* 2300 5815 000757* 0322 CRFBLB, TEXT "CROSS REFERENCE TABLE ";3740 000760* 1723 000761* 2340 000762* 2205 000763* 0605 000764* 2205 000765* 1603 000766* 0540 000767* 2401 000770* 0214 000771* 0540 000772* 3740 5816 5817 000773* 0000 ZBLOCK .&7600+177-. /GET TO END OF PAGE 000774* 0000 000775* 0000 000776* 0000 5818 000777* 1067 SYMSORT,TAD MSTSIZE /GET SYMBOL TABLE SIZE 5819 001000* 3321 DCA SRTHGH /SAVE AS LIMIT 5820 001001* 1321 TAD SRTHGH /GET LIMIT 5821 001002* 7040 CMA /COMPLEMENT FOR TEST 5822 001003* 7450 SNA /SKIP IF MORE THAN ONE SYMBOL 5823 001004* 5364 JMP PRSTAB /ELSE PRINT THE SYMBOL TABLE 5824 001005* 7170 STL CMA RAR /CALCULATE 5825 001006* 7430 SZL /HEAP 5826 001007* 7001 IAC /LIMIT 5827 001010* 3215 DCA SRTLOW /SAVE IT 5828 001011* 1356 SRTH1, TAD SPNM1/(NM1-1) /SETUP 5829 001012* 3014 DCA TXR /TARGET POINTER 5830 001013* 7120 STL /SHOW ARGUMENT PRESENT 5831 001014* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE A SYMBOL 5832 001015* 0000 SRTLOW, .-. /LOWER SORT LIMIT 5833 001016* 1215 SRTH3, TAD SRTLOW /GET LOWER LIMIT 5834 001017* 3242 DCA SRTIX2 /SAVE 5835 001020* 1242 SRTH4, TAD SRTIX2 /GET OLD UPPER INDEX 5836 001021* 3307 DCA SRTIX1 /SAVE AS NEW LOWER INDEX 5837 001022* 1242 TAD SRTIX2 /GET INDEX AGAIN 5838 001023* 7104 CLL RAL /DOUBLE IT 5839 001024* 3242 DCA SRTIX2 /SAVE AS NEW UPPER INDEX 5840 001025* 7420 SNL /SKIP IF NOT TOO BIG 5841 001026* 5256 JMP SRTH8 /JUMP IF TOO BIG 5842 001027* 1242 TAD SRTIX2 /COMPARE 5843 001030* 7141 CLL CIA /TO 5844 001031* 1321 TAD SRTHGH /LIMIT 5845 001032* 7450 SNA /SKIP IF NOT EQUAL 5846 001033* 5247 JMP SRTH7 /JUMP IF EQUAL 5847 001034* 7630 SZL CLA /SKIP IF LOWER 5848 001035* 5256 JMP SRTH8 /JUMP IF GREATER 5849 001036* 7240 NL7777 /BACKUP 5850 001037* 1242 TAD SRTIX2 /GET INDEX AGAIN 5851 001040* 4340 JMS SRTTGT /SETUP TARGET 5852 001041* 4754 JMS I PSRTCOM/(SRTCOM)/COMPARE 5853 001042* 0000 SRTIX2, .-. /UPPER INDEX 5854 001043* 5247 JMP SRTH7 /JUMP IF SOURCE GREATER THAN TARGET 5855 001044* 7240 NL7777 /INCREMENT 5856 001045* 1242 TAD SRTIX2 /UPPER 5857 001046* 3242 DCA SRTIX2 /INDEX 5858 001047* 1242 SRTH7, TAD SRTIX2 /GET INDEX AGAIN 5859 001050* 3254 DCA .+4 /SAVE IT 5860 001051* 1307 TAD SRTIX1 /GET LOWER INDEX 5861 001052* 4340 JMS SRTTGT /SETUP TARGET POINTERS 5862 001053* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5863 001054* 0000 .-. /HOLDS THE ARGUMENT 5864 001055* 5220 JMP SRTH4 /CONTINUE 5865 001056* 1307 SRTH8, TAD SRTIX1 /GET LOWER INDEX 5866 001057* 3242 DCA SRTIX2 /MAKE IT UPPER INDEX 5867 001060* 1242 TAD SRTIX2 /GET NEW UPPER INDEX 5868 001061* 7130 STL RAR /DIVIDE 5869 001062* 7430 SZL /BY 5870 001063* 7001 IAC /TWO 5871 001064* 3307 DCA SRTIX1 /STASH NEW INDEX 5872 001065* 1242 TAD SRTIX2 /COMPARE 5873 001066* 7141 CLL CIA /TO LOWER 5874 001067* 1215 TAD SRTLOW /LIMIT 5875 001070* 7650 SNA CLA /SKIP IF NOT EQUAL 5876 001071* 5277 JMP SRTH8A /JUMP IF EQUAL 5877 001072* 1307 TAD SRTIX1 /GET LOWER INDEX 5878 001073* 4340 JMS SRTTGT /SETUP TARGET POINTERS 5879 001074* 7100 CLL /SHOW NO ARGUMENT IS PRESENT 5880 001075* 4754 JMS I PSRTCOM/(SRTCOM)/COMPARE SYMBOLS 5881 001076* 5304 JMP SRTH8B /JUMP IF SOURCE IS GREATER THAN TARGET 5882 001077* 1242 SRTH8A, TAD SRTIX2 /GET UPPER INDEX 5883 001100* 4340 JMS SRTTGT /SETUP TARGET POINTERS 5884 001101* 7100 CLL /SHOW NO ARGUMENT PRESENT 5885 001102* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5886 001103* 5311 JMP SRTH2 /GO AROUND AGAIN 5887 001104* 1242 SRTH8B, TAD SRTIX2 /GET UPPER INDEX 5888 001105* 4340 JMS SRTTGT /SETUP TARGET POINTERS 5889 001106* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5890 001107* 0000 SRTIX1, .-. /LOWER INDEX 5891 001110* 5256 JMP SRTH8 /AND LOOP AROUND 5892 001111* 2215 SRTH2, ISZ SRTLOW /HEAP CREATION DONE? 5893 001112* 5211 JMP SRTH1 /JUMP IF NOT 5894 001113* 7240 NL7777 /RESET 5895 001114* 3215 DCA SRTLOW /LOWER LIMIT 5896 001115* 1356 TAD SPNM1/(NM1-1) /SETUP 5897 001116* 3014 DCA TXR /TARGET 5898 001117* 7120 STL /SHOW ARGUMENT PRESENT 5899 001120* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5900 001121* 0000 SRTHGH, .-. /UPPER LIMIT 5901 001122* 1321 TAD SRTHGH /GET UPPER LIMIT 5902 001123* 4340 JMS SRTTGT /SETUP TARGET POINTERS 5903 001124* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5904 001125* 7777 -1 /WHERE IT GOES 5905 001126* 2321 ISZ SRTHGH /DECREMENT UPPER LIMIT 5906 001127* 1321 TAD SRTHGH /GET UPPER LIMIT 5907 001130* 7040 CMA /TEST FOR END OF SORT 5908 001131* 7640 SZA CLA /SKIP IF END 5909 001132* 5216 JMP SRTH3 /JUMP IF NOT END 5910 001133* 7240 NL7777 /TARGET SYMBOL NUMBER 5911 001134* 4340 JMS SRTTGT /SETUP TARGET POINTER 5912 001135* 7100 CLL /SHOW NO ARGUMENT PRESENT 5913 001136* 4755 JMS I PSRTMOV/(SRTMOV)/MOVE SYMBOL 5914 001137* 5364 JMP PRSTAB /GO PRINT TABLE 5915 001140* 0000 SRTTGT, .-. /SETUP TARGET POINTER ROUTINE 5916 001141* 7040 CMA /MAKE INTO SYMBOL NUMBER 5917 001142* 3007 DCA SYMNUM /STASH IT 5918 001143* 4450 JMS I SETSYM/[XSETSM] /SETUP POINTERS 5919 001144* 1013 TAD SXR /GET SYMBOL LOCATION 5920 001145* 3014 DCA TXR /PUT IN TARGET REGISTER 5921 001146* 1356 TAD SPNM1/(NM1-1) /SETUP DEFAULT 5922 001147* 3013 DCA SXR /SOURCE LOCATION 5923 001150* 6214 RDF /GET SOURCE DATA FIELD 5924 001151* 6201 CDF 00 /BACK TO FIELD 0 5925 001152* 7120 STL /ASSUME AN ARGUMENT WILL BE PRESENT 5926 001153* 5740 JMP I SRTTGT /RETURN 5927 5928 001154* 0462 PSRTCOM,SRTCOM /POINTER TO COMPARE ROUTINE 5929 001155* 0440 PSRTMOV,SRTMOV /POINTER TO MOVE ROUTINE 5930 001156* 0110 SPNM1, NM1-1 /POINTER TO NM1 (AUTO-INDEX) 5931 001157* 0714 PSYMBLB,SYMBLB /**** /S AND NOT /A **** SYMBLB+2 5932 001160* 0233 PBLPRT, BLPRT /POINTER TO BLPRT ROUTINE 5933 001161* 1231 PPSTB2, PRSTB2 /POINTER TO PRSTB2 5934 001162* 1224 PBLFXC, BLFIXCM /POINTER TO BLFIXCM 5935 001163* 1200 PBLDUN, BLDUN /WHERE BLDUN IS 5936 /BLFIX, BLADR /FIXUP POINTER 5937 /PGETTIT,SLLRL4 /POINTER TO GET A TITLE ROUTINE FOR RELOCATION 5938 5939 001164* 1357 PRSTAB, TAD PSYMBLB /GET MESSAGE POINTER 5940 001165* 4760 JMS I PBLPRT/(BLPRT) /SET IT UP FOR PRINTING 5941 001166* 5761 JMP I PPSTB2/(PRSTB2) /NO TITLES! 5942 / TAD I BLFIX /GET A POINTER TO BE RELOCATED 5943 / SNA /END OF LIST? 5944 / JMP I PBLDUN/(BLDUN) /JUMP IF SO 5945 / TAD I PGETTIT/(SLLRL4)/GET RELIABLE POINTER 5946 / DCA I BLFIX /STORE BACK RELOCATED VALUE 5947 / ISZ BLFIX /BUMP TO NEXT 5948 / JMP .-6 /GO DO ANOTHER 5949 PAGE 5950 5951 001200* 7201 BLDUN, NL0001 /SETUP FOR /L 5952 001201* 0754 AND I BL7604/(SWAL) /AND JUST /L 5953 001202* 7640 SZA CLA /SKIP IF NOT SET 5954 001203* 5224 JMP BLFIXCM /CONTINUE THERE 5955 001204* 1754 TAD I BL7604/(SWAL) /GET /A-/L 5956 001205* 0353 AND BL2002/(2002) /JUST /B, /K 5957 001206* 7640 SZA CLA /SKIP IF NONE OF ABOVE 5958 001207* 5214 JMP BLUSE2 /JUMP IF ANY OF THEM 5959 / NL0001 /SETUP /X MASK 5960 / AND I BL7605/(SWMX) /JUST /X 5961 / SZA CLA /SKIP IF /X NOT SET 5962 / JMP BLUSE2 /JUMP IF SET 5963 001210* 1350 TAD BLONE /\ 5964 001211* 3757 DCA I BLSM0/(BLSMSG) / \MOVE IN THE ONE 5965 001212* 1351 TAD BLONE+1 / /PASS MESSAGE 5966 001213* 3760 DCA I BLSM1/(BLSMSG+1)// 5967 001214* 1347 BLUSE2, TAD BL7765/(-12-1) /SETUP 5968 001215* 3730 DCA I PTITLEN/(TITLEN)/LENGTH WORD IN TITLE 5969 001216* 1757 TAD I BLSM0/(BLSMSG) /GET A WORD 5970 001217* 3727 DCA I BLADR/(BLURB) /PUT A WORD 5971 001220* 2357 ISZ BLSM0/(BLSMSG) /BUMP TO NEXT 5972 001221* 2327 ISZ BLADR/(BLURB) /BUMP POINTER 5973 001222* 2347 ISZ BL7765/(-12-1) /DONE TOO MANY? 5974 001223* 5216 JMP .-5 /NO, GO BACK 5975 001224* 1352 BLFIXCM,TAD BLFXLEN/(-24-1) /SETUP 5976 001225* 3731 DCA I PSTTLEN/(STTLEN)/NEW LENGTH 5977 001226* 3732 DCA I PPAGNUM/(PAGNUM)/START ON PAGE S-1 5978 001227* 3733 DCA I POVZP1/(OVFZP1) /PREVENT ANY 5979 001230* 3734 DCA I POVZP2/(OVFZP2) /OVERFLOW PAGES 5980 001231* 7201 PRSTB2, NL0001 /INITIALIZE TABLE 5981 001232* 4503 PRSTB3, JMS I GETSYM/[GETSM] /GET A SYMBOL 5982 001233* 5307 JMP LINEXT /NO MORE THIS GO-AROUND 5983 001234* 4531 JMS I PRTSYM/[XPRTSM] /PRINT THE SYMBOL NAME 5984 001235* 1125 TAD NMFLGS /GET SYMBOL FLAGS 5985 001236* 7104 CLL RAL /MOVE OVER 5986 001237* 7530 SPA SZL /UNDEFINED SYMBOL? 5987 001240* 5252 JMP TRYRST /NO, TRY OTHERS 5988 001241* 1066 TAD L7774/[-4] /\ 5989 001242* 3111 DCA NM1 / \ 5990 001243* 4446 JMS I P6CH/[XP6CH] / \ 5991 001244* 1345 TAD LSTAR/("*&77) / \PRINT " **** " IN 5992 001245* 4446 JMS I P6CH/[XP6CH] / /PLACE OF THE VALUE 5993 001246* 2111 ISZ NM1 / / 5994 001247* 5244 JMP .-3 / / 5995 001250* 4446 JMS I P6CH/[XP6CH] // 5996 001251* 5275 JMP PSTCMN /BRANCH AROUND 5997 5998 001252* 7420 TRYRST, SNL /SKIP IF MRI OR PSEUDO-OP 5999 001253* 5260 JMP TRYPRM /EITHER PERMANENT OR USER 6000 001254* 7700 SMA CLA /SKIP IF PSEUDO-OP 6001 001255* 1341 TAD PR7711/("M-"D) /GOOD AS 6-BIT "M-"D! 6002 001256* 1100 TAD L4/["D&77] /USE AT LEAST "D" 6003 001257* 5263 JMP SAVRCH /FINISH THERE 6004 6005 001260* 0112 TRYPRM, AND NM2 /AND OFF FIXTAB BIT 6006 001261* 7710 SPA CLA /SKIP IF USER SYMBOL 6007 001262* 1346 TAD L20/("P&77) /USE "P" 6008 001263* 3006 SAVRCH, DCA RCHAR /SETUP REAR CHARACTER 6009 001264* 1112 TAD NM2 /GET PERMANENT WORD 6010 001265* 7004 RAL /FIXTAB BIT TO LINK 6011 001266* 7200 CLA /CLEAN UP 6012 001267* 1113 TAD NM3 /GET DEFINED BY COMMA WORD 6013 001270* 7720 SMA SNL CLA /SKIP IF EITHER PERMANENT OR DEFINED BY COMMA 6014 001271* 1344 TAD LEQUAL/("=&77) /GET AN "=" CHARACTER 6015 001272* 3002 DCA FCHAR /PUT IN FRONT 6016 001273* 1135 TAD SVAL /GET SYMBOL'S VALUE 6017 001274* 4530 JMS I PRTFLD/[XPRFLD] /PRINT IT 6018 001275* 1341 PSTCMN, TAD PR7711/(-67) /SET UP TO 6019 001276* 4743 JMS I PTHRWSM/(THRWSM)/THROW AWAY 54 SYMBOLS 6020 001277* 5307 JMP LINEXT /NO MORE TO THROW AWAY! 6021 001300* 1102 TAD COLCT /GET CURRENT COLUMN 6022 001301* 1336 TAD COLIMT /TOO FAR? 6023 001302* 7700 SMA CLA /SKIP IF NOT 6024 001303* 5307 JMP LINEXT /JUMP IF SO 6025 001304* 4445 JMS I P45CH/[XP45CH] /PRINT 2 S 6026 001305* 4446 JMS I P6CH/[XP6CH] /**** LPT: OR /P **** JMS I P45CH/[XP45CH] 6027 001306* 5232 JMP PRSTB3 /GO BACK 6028 001307* 7201 LINEXT, NL0001 /RESET 6029 001310* 3001 DCA EQUSW /SYMBOL ROUTINE 6030 001311* 2340 ISZ SCLCNT /DONE A WHOLE PAGE OF SYMBOLS? 6031 001312* 5320 JMP THRWAY /NO, THROW AWAY MORE PREVIOUS SYMBOLS 6032 001313* 1342 TAD EXTHRA /\ 6033 001314* 1337 TAD SYMPAG / >THROW AWAY AN ADDITIONAL PAGE 6034 001315* 3342 DCA EXTHRA // 6035 001316* 1341 TAD PR7711/(-67) /RESET 6036 001317* 3340 DCA SCLCNT /SYMBOL COUNTER 6037 001320* 1340 THRWAY, TAD SCLCNT /GET SYMBOL COUNT 6038 001321* 7041 CIA /INVERT IT 6039 001322* 1342 TAD EXTHRA /ADD ON PAGE DROP COUNT 6040 001323* 4743 JMS I PTHRWSM/(THRWSM)/REMOVE THAT MANY 6041 001324* 5366 JMP STATPR /WE'RE DONE 6042 001325* 4437 JMS I PCRLF/[XPCRLF] /PRINT A , 6043 001326* 5232 JMP PRSTB3 /KEEP GOING 6044 6045 001327* 4751 BLADR, BLURB/-XGBLURB /WHERE BLURB IS 6046 001330* 4603 PTITLEN,TITLEN/-XGBLURB /WHERE LENGTH WORD IS 6047 001331* 4606 PSTTLEN,STTLEN/-XGBLURB /WHERE NEW TITLE LENGTH IS 6048 /PSTPZAP,STPZAP/-XGBLURB /WHERE LENGTH REFERENCE IS 6049 001332* 4644 PPAGNUM,PAGNUM/-XGBLURB /WHERE PAGNUM IS 6050 001333* 4610 POVZP1, OVFZP1/-XGBLURB /WHERE OVFZP1 IS 6051 001334* 4614 POVZP2, OVFZP2/-XGBLURB /WHERE OVFZP2 IS 6052 001335* 0000 0 /THIS ENDS THE LIST 6053 6054 001336* 7700 COLIMT, 7700 /**** /P **** 7606 6055 001337* 7355 SYMPAG, 7355 /**** /P **** 7110 6056 001340* 7711 SCLCNT, 7711 /SYMBOL LINE COUNTER 6057 001341* 7711 PR7711, 7711 /55 SYMBOLS PER COLUMN CONSTANT 6058 001342* 7710 EXTHRA, 7710 /EXTRA THROWAWAY PAGE COUNT 6059 001343* 0654 PTHRWSM,THRWSM /POINTER TO THRWSM ROUTINE 6060 001344* 0075 LEQUAL, "=&77 /"=" CONSTANT 6061 001345* 0052 LSTAR, "*&77 /CONSTANT 0052 6062 001346* 0020 L20, "P&77 /CONSTANT 0020 6063 001347* 7765 BL7765, -12-1 /THIS WILL MOVE ONE TOO MANY, WHO CARES! 6064 001350* 1716 BLONE, TEXT "ONE " /PASS ONE MESSAGE 001351* 0540 6065 001352* 7753 BLFXLEN,7754-1 /NEW MESSAGE LENGTH 6066 001353* 2002 BL2002, 2002 /B, /K MASK 6067 001354* 7604 BL7604, SWAL /WHERE /A-/L IS 6068 001355* 7605 BL7605, SWMX /WHERE /M-/X IS 6069 001356* 7757 BL7757, SFILES /CONSTANT 7757 6070 001357* 0733 BLSM0, BLSMSG /MESSAGE POINTER 6071 001360* 0734 BLSM1, BLSMSG+1 /MESSAGE INTERNAL POINTER 6072 001361* 0745 PSTBLB, STBLB /POINTER TO STATISTICS BLURB 6073 001362* 7566 BLBDIF, DUMBLB-STBLB /INTER-MESSAGE DIFFERENCE 6074 001363* 0203 PBLBZAP,BLBZAP /WHERE TO ALLOW EXTRA , 6075 001364* 0223 PDBLZAP,DBLZAP /WHERE TO INHIBIT EXTRA , 6076 6077 001365* 0000 ZBLOCK .&7600+166-. /GET NEAR END OF THE PAGE 6078 001366* 4526 STATPR, JMS I PEJECT/[DEJECT] /DO AN EJECT 6079 001367* 3145 DCA ECHOSW /FORCE ECHO ON 6080 001370* 1756 TAD I BL7757/(SFILES) /GET FIRST FILE ARGUMENT 6081 001371* 7640 SLAZP2, SZA CLA /**** /A **** 0000 6082 001372* 5377 JMP .+5 /JUMP IF ANY FILES 6083 001373* 1763 TAD I PBLBZAP/(BLBZAP) /MAKE IT NOT 6084 001374* 3764 DCA I PDBLZAP/(DBLZAP) /DO AN EXTRA , 6085 001375* 3763 DCA I PBLBZAP/(BLBZAP) /DO AN EXTRA , 6086 001376* 1362 TAD BLBDIF/(DUMBLB-STBLB) /GET MESSAGE OFFSET 6087 001377* 1361 TAD PSTBLB/(STBLB) /GET MESSAGE ADDRESS 6088 001400* 4774 JMS I SBLPRT/(BLPRT) /GO PRINT SUB-TITLE MESSAGE 6089 001401* 0021 L21, 21 /HERE JUST IN CASE 6090 001402* 1117 FTEMP1, TAD ERRTOT /GET ERROR COUNT 6091 001403* 7650 FTEMP2, SNA CLA /SKIP IF ANY 6092 001404* 5232 FTEMP3, JMP PRNO /JUMP IF NONE 6093 001405* 1370 TAD DECZP1/(DECPRT&177+JMPIC) /GET RETURN INSTRUCTION 6094 001406* 3771 DCA I PDECZAP/(DECZAP) /GO ZAP IT IN 6095 001407* 1117 TAD ERRTOT /GET ERROR COUNT 6096 001410* 4565 JMS I PRTDEC/[DECPRT] /ALMOST PRINT IT 6097 001411* 3202 DCA FTEMP1 /SAVE FIRST ASCII DIGIT 6098 001412* 1221 TAD DECZP2/(JMS I P6CH/[XP6CH]) /RESTORE ZAPPED INSTRUCTION 6099 001413* 3771 DCA I PDECZAP/(DECZAP) /TO FORMER VALUE 6100 001414* 1025 TAD TMP /GET DECPRT'S TEMPORARY 6101 001415* 3203 DCA FTEMP2 /SAVE IT 6102 001416* 1772 TAD I PDECPTR/(DECPTR) /GET DECPRT'S POWER POINTER 6103 001417* 3204 DCA FTEMP3 /SAVE IT 6104 001420* 1202 TAD FTEMP1 /RESTORE ASCII DIGIT 6105 001421* 4446 DECZP2, JMS I P6CH/[XP6CH] /PRINT TITLES AND FIRST DIGIT 6106 001422* 1373 TAD OURNXT/(NXTADR) /SETUP NEXT ADDRESS 6107 001423* 3565 DCA I PRTDEC/[DECPRT] /IN HEADER OF DECPRT 6108 001424* 1203 TAD FTEMP2 /RESTORE 6109 001425* 3025 DCA TMP /DECPRT TEMPORARY 6110 001426* 1204 TAD FTEMP3 /RESTORE 6111 001427* 3772 DCA I PDECPTR/(DECPTR) /POWER POINTER 6112 001430* 5631 JMP I .+1/(DECZAP+1) /NOW GO BACK TO DECPRT 6113 001431* 3442 DECZAP+1 /THROUGH HERE 6114 001432* 1367 PRNO, TAD SNO/("N-300^45+"O-300) /GET "NO" 6115 001433* 4445 JMS I P45CH/[XP45CH] /GO PRINT TITLES AND IT 6116 001434* 4446 NXTADR, JMS I P6CH/[XP6CH] /PRINT A 6117 001435* 1117 TAD ERRTOT /GET ERRORS AGAIN 6118 001436* 4765 JMS I PUT45/(XPUT45) /AND PRINT MESSAGE 6119 001437* 0313 "E-300^45+"R-300 /\ 6120 001440* 1251 "R-300^45+"O-300 / \ 6121 001441* 5255 "R-300^45+"S-300+4000 / \ 6122 001442* 0004 "D-300 / \ 6123 001443* 0315 "E-300^45+"T-300 / >"ERRORS DETECTED" 6124 001444* 0274 "E-300^45+"C-300 / / 6125 001445* 1351 "T-300^45+"E-300 / / 6126 001446* 0224 "D-300^45 / / 6127 001447* 0000 0000 // 6128 001450* 1155 TAD OFPCNT /GET NUMBER OF LINKS GENERATED 6129 001451* 4565 JMS I PRTDEC/[DECPRT] /AND PRINT THEM 6130 001452* 1155 TAD OFPCNT /GET THEM AGAIN 6131 001453* 4765 JMS I PUT45/(XPUT45) /AND PRINT MESSAGE 6132 001454* 0014 "L-300 /\ 6133 001455* 0533 "I-300^45+"N-300 / \ 6134 001456* 4652 "K-300^45+"S-300+4000 / \ 6135 001457* 0007 "G-300 / \ 6136 001460* 0307 "E-300^45+"N-300 / >"LINKS GENERATED" 6137 001461* 0313 "E-300^45+"R-300 / / 6138 001462* 0071 "A-300^45+"T-300 / / 6139 001463* 0275 "E-300^45+"D-300 / / 6140 001464* 0000 ZTEM, 0000 // 6141 001465* 1775 TAD I P4KSYMS/(SYMS4K) /\ 6142 001466* 7450 SNA / \ 6143 001467* 5275 JMP .+6 / \ 6144 001470* 7100 CLL / \ 6145 001471* 1076 TAD RESULT / \ 6146 001472* 7420 SNL / \ 6147 001473* 7200 CLA / \ 6148 001474* 3076 DCA RESULT / >CALCULATE AMOUNT OF CORE NEEDED 6149 001475* 7332 NL2000 / / 6150 001476* 1076 TAD RESULT / / 6151 001477* 1376 TAD L377/(377) / / 6152 001500* 7006 RTL / / 6153 001501* 7006 RTL / / 6154 001502* 7004 RAL / / 6155 001503* 0106 AND L37/[37] // 6156 001504* 4565 JMS I PRTDEC/[DECPRT] /PRINT NUMBER OF K 6157 001505* 4765 JMS I PUT45/(XPUT45) /PRINT MESSAGE 6158 001506* 0627 "K-300^45 /\ 6159 001507* 0746 "M-300^45+"E-300 / \ 6160 001510* 0760 "M-300^45+"O-300 / \ 6161 001511* 1263 "R-300^45+"Y-300 / \ 6162 001512* 0025 "U-300 / \"K MEMORY 6163 001513* 1355 "T-300^45+"I-300 / /UTILIZED" 6164 001514* 0705 "L-300^45+"I-300 / / 6165 001515* 1707 "Z-300^45+"E-300 / / 6166 001516* 0224 "D-300^45 / / 6167 001517* 0000 0000 // 6168 001520* 1157 TAD OUTPTR /GET OUTPUT POINTER 6169 001521* 7500 SMA /FILES? 6170 001522* 1366 TAD BDFUDGE/(-BDFLST+SFILES)/NO, USE SWITCHES 6171 001523* 1201 TAD L21/(21) /ADD ON OFFSET 6172 001524* 3264 DCA ZTEM /SAVE COUNT 6173 001525* 1264 TAD ZTEM /GET IT BACK 6174 001526* 4565 JMS I PRTDEC/[DECPRT] /GO PRINT IT 6175 001527* 1264 TAD ZTEM /GET IT AGAIN 6176 001530* 4765 JMS I PUT45/(XPUT45) /PRINT OUT 6177 001531* 0006 "F-300 /\ 6178 001532* 0531 "I-300^45+"L-300 / \ 6179 001533* 4314 "E-300^45+"S-300+4000 / \ 6180 001534* 0003 "C-300 / >"FILES CREATED" 6181 001535* 1237 "R-300^45+"E-300 / / 6182 001536* 0071 "A-300^45+"T-300 / / 6183 001537* 0275 "E-300^45+"D-300 // 6184 001540* 0000 0000 /THIS ENDS THE MESSAGE 6185 001541* 1067 TAD MSTSIZ /GET NUMBER OF SYMBOLS 6186 001542* 7041 CIA /MAKE POSITIVE 6187 001543* 3264 DCA ZTEM /AND SAVE 6188 001544* 1264 TAD ZTEM /RECOVER NUMBER OF SYMBOLS 6189 001545* 4565 JMS I PRTDEC/[DECPRT] /AND PRINT THEM 6190 001546* 1264 TAD ZTEM /GET NUMBER AGAIN 6191 001547* 4765 JMS I PUT45/(XPUT45) /AND PRINT MESSAGE 6192 001550* 0023 "S-300 /\ 6193 001551* 1652 "Y-300^45+"M-300 / \ 6194 001552* 0131 "B-300^45+"O-300 / >"SYMBOLS" 6195 001553* 4717 "L-300^45+"S-300+4000 / / 6196 001554* 0000 0000 // 6197 001555* 1777 TAD I OINTFPT/(INTFPT) /GET FILE RESET 6198 001556* 3025 DCA TMP /STASH IT 6199 001557* 3425 DCA I TMP /DESTROY INPUT FILES 6200 001560* 3557 DCA I OUTPTR /DESTROY UNNEEDED OUTPUT FILES 6201 001561* 4526 JMS I PEJECT/[DEJECT] /DO FINAL EJECT 6202 001562* 7201 NL0001 /SETUP /L, /X MASK 6203 001563* 5764 JMP I .+1/(CHECKX) /CONTINUE THERE 6204 001564* 0332 CHECKX /THROUGH HERE 6205 6206 001565* 0667 PUT45, XPUT45 /POINTER TO RADIX 45 PRINT ROUTINE 6207 001566* 4762 BDFUDGE,-BDFLST+SFILES /OFFSET CONSTANT 6208 001567* 1025 SNO, "N-300^45+"O-300 /"NO" IN RADIX 45 6209 001570* 5612 DECZP1, DECPRT&177+JMPIC /"JMP I DECPRT" 6210 001571* 3441 PDECZAP,DECZAP /WHERE TO PUT IT 6211 001572* 3547 PDECPTR,DECPTR /WHERE DECPRT'S POWERS POINTER IS 6212 001573* 1434 OURNXT, NXTADR /OUR RETURN ADDRESS 6213 001574* 0233 SBLPRT, BLPRT /POINTER TO BLURB PRINT SETUP ROUTINE 6214 001575* 2244 P4KSYMS,SYMS4K /POINTER TO FIELD 0 SYMBOL USAGE WORD 6215 001576* 0377 L377, 377 /CONSTANT 0377 6216 001577* 2767 OINTFPT,INTFPT /WHERE INPUT RESET VALUE IS 6217 PAGE 6218 6219 RELOC 6220 6221 STOEND= . /END OF SYMBOL TABLE OVERLAY 6222 STOSIZ= .-STOCOD%200 /NUMBER OF BLOCKS IN THIS OVERLAY 6223 6224 OVLYBLK=OVLYBLK+STOSIZ /UPDATE BLOCK FOR NEXT OVERLAY 6225 SYMTAB, *7777 /END OF AN 6226 *7777 /OVERLAY 6227 6228 SUDOBLK=OVLYBLK /SYMBOL TABLE BLOCK 6229 6230 NFLAG= 2000 /NON-MEMORY REFERENCE FLAG 6231 PFLAG= 4000 /PERMANENT SYMBOL FLAG 6232 MFLAG= 4000 /MEMORY REFERENCE FLAG 6233 SFLAG= 6000 /PSEUDO-OP FLAG 6234 VFLAG= 4000 /VALUED PSEUDO-OP FLAG 6235 *SYMTAB /RESTORE ORIGIN 6236 6237 002400 6070 "A-300^45+"S-300+SFLAG /ASMIFM 6238 002401 4752 "M-300^45+"I-300+PFLAG 6239 002402 0353 "F-300^45+"M-300 6240 002403 2371 MASSIF 6241 002404 6070 "A-300^45+"S-300+SFLAG /ASMIFN 6242 002405 4752 "M-300^45+"I-300+PFLAG 6243 002406 0354 "F-300^45+"N-300 6244 002407 2373 NASSIF 6245 002410 6070 "A-300^45+"S-300+SFLAG /ASMIFZ 6246 002411 4752 "M-300^45+"I-300+PFLAG 6247 002412 0370 "F-300^45+"Z-300 6248 002413 2372 ZASSIF 6249 002414 6070 "A-300^45+"S-300+SFLAG /ASMSKP 6250 002415 4764 "M-300^45+"S-300+PFLAG 6251 002416 0647 "K-300^45+"P-300 6252 002417 2574 SKPASM 6253 002420 6250 "D-300^45+"T-300+SFLAG /DTORG 6254 002421 5075 "O-300^45+"R-300+PFLAG 6255 002422 0403 "G-300^45 6256 002423 2376 XDTORG 6257 002424 6307 "E-300^45+"N-300+SFLAG /ENBITS 6258 002425 4123 "B-300^45+"I-300+PFLAG 6259 002426 1367 "T-300^45+"S-300 6260 002427 1370 XPSDRET 6261 / "I-300^45+SFLAG /I 6262 / PFLAG 6263 / 0 6264 / EYE 6265 002430 6711 "L-300^45+"M-300+SFLAG /LMODE 6266 002431 5057 "O-300^45+"D-300+PFLAG 6267 002432 0271 "E-300^45 6268 002433 1555 XLMODE 6269 002434 7025 "N-300^45+"O-300+SFLAG /NOBITS 6270 002435 4123 "B-300^45+"I-300+PFLAG 6271 002436 1367 "T-300^45+"S-300 6272 002437 1370 XPSDRET 6273 002440 7135 "P-300^45+"M-300+SFLAG /PMODE 6274 002441 5057 "O-300^45+"D-300+PFLAG 6275 002442 0271 "E-300^45 6276 002443 1556 XPMODE 6277 002444 7304 "S-300^45+"E-300+SFLAG /SEGMNT 6278 002445 4420 "G-300^45+"M-300+PFLAG 6279 002446 1032 "N-300^45+"T-300 6280 002447 2240 XSGMNT 6281 6282 002450 0000 0000 /THIS ENDS THE LIST 6283 PAGE 6284 6285 002600 6176 "C-300^45+"O-300+SFLAG /CONSOLE 6286 002601 5031 "N-300^45+"S-300+PFLAG 6287 002602 1067 "O-300^45+"L-300 6288 002603 5411 XCNSOL+VFLAG 6289 002604 6225 "D-300^45+"A-300+SFLAG /DATE 6290 002605 5351 "T-300^45+"E-300+PFLAG 6291 002606 0000 0000 6292 002607 5412 XDATE+VFLAG 6293 002610 6231 "D-300^45+"E-300+SFLAG /DECIMAL 6294 002611 4170 "C-300^45+"I-300+PFLAG 6295 002612 0742 "M-300^45+"A-300 6296 002613 0277 RAD10 6297 002614 6231 "D-300^45+"E-300+SFLAG /DEVICE 6298 002615 5467 "V-300^45+"I-300+PFLAG 6299 002616 0164 "C-300^45+"E-300 6300 002617 1102 XDVICE 6301 002620 6303 "E-300^45+"J-300+SFLAG /EJECT 6302 002621 4274 "E-300^45+"C-300+PFLAG 6303 002622 1344 "T-300^45 6304 002623 3401 XEJECT 6305 002624 6307 "E-300^45+"N-300+SFLAG /ENDBIN 6306 002625 4226 "D-300^45+"B-300+PFLAG 6307 002626 0533 "I-300^45+"N-300 6308 002627 2550 XENDBIN 6309 002630 6307 "E-300^45+"N-300+SFLAG /ENPUNCH 6310 002631 5145 "P-300^45+"U-300+PFLAG 6311 002632 1011 "N-300^45+"C-300 6312 002633 1552 XPUNCH 6313 002634 6313 "E-300^45+"R-300+SFLAG /ERROR 6314 002635 5251 "R-300^45+"O-300+PFLAG 6315 002636 1232 "R-300^45 6316 002637 0363 XERROR 6317 002640 6321 "E-300^45+"X-300+SFLAG /EXPUNGE 6318 002641 5145 "P-300^45+"U-300+PFLAG 6319 002642 1015 "N-300^45+"G-300 6320 002643 1374 XPUNGE 6321 002644 6347 "F-300^45+"I-300+SFLAG /FIELD 6322 002645 4305 "E-300^45+"L-300+PFLAG 6323 002646 0224 "D-300^45 6324 002647 0613 XFLD 6325 002650 6347 "F-300^45+"I-300+SFLAG /FILENAME 6326 002651 4701 "L-300^45+"E-300+PFLAG 6327 002652 1007 "N-300^45+"A-300 6328 002653 1100 XFLNAM 6329 002654 6347 "F-300^45+"I-300+SFLAG /FIXMRI 6330 002655 5605 "X-300^45+"M-300+PFLAG 6331 002656 1243 "R-300^45+"I-300 6332 002657 2124 MAKMRI 6333 002660 6347 "F-300^45+"I-300+SFLAG /FIXTAB 6334 002661 5614 "X-300^45+"T-300+PFLAG 6335 002662 0047 "A-300^45+"B-300 6336 002663 1376 XFXTAB 6337 002664 6515 "I-300^45+SFLAG /I 6338 002665 4000 PFLAG 6339 002666 0000 0000 6340 002667 1400 EYE 6341 002670 6523 "I-300^45+"F-300+SFLAG /IFDEF 6342 002671 4231 "D-300^45+"E-300+PFLAG 6343 002672 0336 "F-300^45 6344 002673 1437 IFDF 6345 002674 6523 "I-300^45+"F-300+SFLAG /IFNDEF 6346 002675 5012 "N-300^45+"D-300+PFLAG 6347 002676 0277 "E-300^45+"F-300 6348 002677 1436 IFNDF 6349 002700 6523 "I-300^45+"F-300+SFLAG /IFNZRO 6350 002701 5040 "N-300^45+"Z-300+PFLAG 6351 002702 1251 "R-300^45+"O-300 6352 002703 1447 IFNZER 6353 002704 6523 "I-300^45+"F-300+SFLAG /IFZERO 6354 002705 5707 "Z-300^45+"E-300+PFLAG 6355 002706 1251 "R-300^45+"O-300 6356 002707 1450 IFZER 6357 002710 7025 "N-300^45+"O-300+SFLAG /NOPUNCH 6358 002711 5145 "P-300^45+"U-300+PFLAG 6359 002712 1011 "N-300^45+"C-300 6360 002713 1553 XNOPUN 6361 002714 7056 "O-300^45+"C-300+SFLAG /OCTAL 6362 002715 5345 "T-300^45+"A-300+PFLAG 6363 002716 0674 "L-300^45 6364 002717 0272 RAD8 6365 002720 7121 "P-300^45+"A-300+SFLAG /PAGE 6366 002721 4410 "G-300^45+"E-300+PFLAG 6367 002722 0000 0000 6368 002723 1417 XPAGE 6369 002724 7121 "P-300^45+"A-300+SFLAG /PAUSE 6370 002725 5434 "U-300^45+"S-300+PFLAG 6371 002726 0271 "E-300^45 6372 002727 0542 XPAUSE 6373 002730 7141 "P-300^45+"Q-300+SFLAG /PQS 6374 002731 5277 "S-300^45+PFLAG 6375 002732 0000 0000 6376 002733 1370 XPSDRET 6377 002734 7237 "R-300^45+"E-300+SFLAG /RELOC 6378 002735 4713 "L-300^45+"O-300+PFLAG 6379 002736 0157 "C-300^45 6380 002737 1517 XRELOC 6381 002740 7310 "S-300^45+"I-300+SFLAG /SIXBIT 6382 002741 5572 "X-300^45+"B-300+PFLAG 6383 002742 0541 "I-300^45+"T-300 6384 002743 1000 XSXBIT 6385 002744 7312 "S-300^45+"K-300+SFLAG /SKIP 6386 002745 4535 "I-300^45+"P-300+PFLAG 6387 002746 0000 0000 6388 002747 1623 XSKIP 6389 002750 7351 "T-300^45+"E-300+SFLAG /TEXT 6390 002751 5614 "X-300^45+"T-300+PFLAG 6391 002752 0000 0000 6392 002753 1001 XTEXT 6393 002754 7355 "T-300^45+"I-300+SFLAG /TITLE 6394 002755 5360 "T-300^45+"L-300+PFLAG 6395 002756 0271 "E-300^45 6396 002757 3402 XTITLE 6397 002760 7604 "X-300^45+"L-300+SFLAG /XLIST 6398 002761 4540 "I-300^45+"S-300+PFLAG 6399 002762 1344 "T-300^45 6400 002763 2144 XLISTI 6401 002764 7702 "Z-300^45+SFLAG /Z 6402 002765 4000 PFLAG 6403 002766 0000 0000 6404 002767 1370 XPSDRET 6405 002770 7704 "Z-300^45+"B-300+SFLAG /ZBLOCK 6406 002771 4713 "L-300^45+"O-300+PFLAG 6407 002772 0172 "C-300^45+"K-300 6408 002773 2154 ZBLK 6409 002774 2050 "A-300^45+"C-300+NFLAG /ACL 6410 002775 4674 "L-300^45+PFLAG 6411 002776 0000 0000 6412 002777 7701 ACL 6413 003000 4063 "A-300^45+"N-300+MFLAG /AND 6414 003001 4224 "D-300^45+PFLAG 6415 003002 0000 0000 6416 003003 0000 AND 0000 6417 003004 2070 "A-300^45+"S-300+NFLAG /ASC 6418 003005 4157 "C-300^45+PFLAG 6419 003006 0000 0000 6420 003007 7403 ASC 6421 003010 2070 "A-300^45+"S-300+NFLAG /ASR 6422 003011 5232 "R-300^45+PFLAG 6423 003012 0000 0000 6424 003013 7415 ASR 6425 003014 2135 "B-300^45+"S-300+NFLAG /BSW 6426 003015 5523 "W-300^45+PFLAG 6427 003016 0000 0000 6428 003017 7002 BSW 6429 003020 2160 "C-300^45+"A-300+NFLAG /CAF 6430 003021 4336 "F-300^45+PFLAG 6431 003022 0000 0000 6432 003023 6007 CAF 6433 003024 2160 "C-300^45+"A-300+NFLAG /CAM 6434 003025 4741 "M-300^45+PFLAG 6435 003026 0000 0000 6436 003027 7621 CAM 6437 003030 2163 "C-300^45+"D-300+NFLAG /CDF 6438 003031 4336 "F-300^45+PFLAG 6439 003032 0000 0000 6440 003033 6201 CDF 6441 003034 2170 "C-300^45+"I-300+NFLAG /CIA 6442 003035 4045 "A-300^45+PFLAG 6443 003036 0000 0000 6444 003037 7041 CIA 6445 003040 2170 "C-300^45+"I-300+NFLAG /CIF 6446 003041 4336 "F-300^45+PFLAG 6447 003042 0000 0000 6448 003043 6202 CIF 6449 003044 2170 "C-300^45+"I-300+NFLAG /CINT 6450 003045 5032 "N-300^45+"T-300+PFLAG 6451 003046 0000 0000 6452 003047 6204 CINT 6453 003050 2173 "C-300^45+"L-300+NFLAG /CLA 6454 003051 4045 "A-300^45+PFLAG 6455 003052 0000 0000 6456 003053 7200 CLA 6457 003054 2173 "C-300^45+"L-300+NFLAG /CLL 6458 003055 4674 "L-300^45+PFLAG 6459 003056 0000 0000 6460 003057 7100 CLL 6461 003060 2174 "C-300^45+"M-300+NFLAG /CMA 6462 003061 4045 "A-300^45+PFLAG 6463 003062 0000 0000 6464 003063 7040 CMA 6465 003064 2174 "C-300^45+"M-300+NFLAG /CML 6466 003065 4674 "L-300^45+PFLAG 6467 003066 0000 0000 6468 003067 7020 CML 6469 003070 2204 "C-300^45+"U-300+NFLAG /CUF 6470 003071 4336 "F-300^45+PFLAG 6471 003072 0000 0000 6472 003073 6264 CUF 6473 003074 2225 "D-300^45+"A-300+NFLAG /DAD 6474 003075 4224 "D-300^45+PFLAG 6475 003076 0000 0000 6476 003077 7443 DAD 6477 003100 4227 "D-300^45+"C-300+MFLAG /DCA 6478 003101 4045 "A-300^45+PFLAG 6479 003102 0000 0000 6480 003103 3000 DCA 0000 6481 003104 2227 "D-300^45+"C-300+NFLAG /DCM 6482 003105 4741 "M-300^45+PFLAG 6483 003106 0000 0000 6484 003107 7575 DCM 6485 003110 2230 "D-300^45+"D-300+NFLAG /DDZ 6486 003111 5702 "Z-300^45+PFLAG 6487 003112 0000 0000 6488 003113 7665 DDZ 6489 003114 2240 "D-300^45+"L-300+NFLAG /DLD 6490 003115 4224 "D-300^45+PFLAG 6491 003116 0000 0000 6492 003117 7663 DLD 6493 / "D-300^45+"L-300+NFLAG /DL0001 6494 / "0-225^45+"0-225+PFLAG 6495 / "0-225^45+"1-225 6496 / DL0001 6497 003120 2244 "D-300^45+"P-300+NFLAG /DPIC 6498 003121 4520 "I-300^45+"C-300+PFLAG 6499 003122 0000 0000 6500 003123 7573 DPIC 6501 003124 2244 "D-300^45+"P-300+NFLAG /DPSZ 6502 003125 5331 "S-300^45+"Z-300+PFLAG 6503 003126 0000 0000 6504 003127 7451 DPSZ 6505 003130 2247 "D-300^45+"S-300+NFLAG /DST 6506 003131 5344 "T-300^45+PFLAG 6507 003132 0000 0000 6508 003133 7445 DST 6509 003134 2250 "D-300^45+"T-300+NFLAG /DTCA 6510 003135 4160 "C-300^45+"A-300+PFLAG 6511 003136 0000 0000 6512 003137 6762 DTCA 6513 003140 2250 "D-300^45+"T-300+NFLAG /DTLA 6514 003141 4675 "L-300^45+"A-300+PFLAG 6515 003142 0000 0000 6516 003143 6766 DTLA 6517 003144 2250 "D-300^45+"T-300+NFLAG /DTLB 6518 003145 4676 "L-300^45+"B-300+PFLAG 6519 003146 0000 0000 6520 003147 6774 DTLB 6521 003150 2250 "D-300^45+"T-300+NFLAG /DTRA 6522 003151 5233 "R-300^45+"A-300+PFLAG 6523 003152 0000 0000 6524 003153 6761 DTRA 6525 003154 2250 "D-300^45+"T-300+NFLAG /DTRB 6526 003155 5234 "R-300^45+"B-300+PFLAG 6527 003156 0000 0000 6528 003157 6772 DTRB 6529 003160 2250 "D-300^45+"T-300+NFLAG /DTSF 6530 003161 5305 "S-300^45+"F-300+PFLAG 6531 003162 0000 0000 6532 003163 6771 DTSF 6533 003164 2250 "D-300^45+"T-300+NFLAG /DTXA 6534 003165 5571 "X-300^45+"A-300+PFLAG 6535 003166 0000 0000 6536 003167 6764 DTXA 6537 003170 2252 "D-300^45+"V-300+NFLAG /DVI 6538 003171 4515 "I-300^45+PFLAG 6539 003172 0000 0000 6540 003173 7407 DVI 6541 003174 2272 "E-300^45+"A-300+NFLAG /EAE 6542 003175 4271 "E-300^45+PFLAG 6543 003176 0000 0000 6544 003177 7401 EAE 6545 003200 2417 "G-300^45+"L-300+NFLAG /GLK 6546 003201 4627 "K-300^45+PFLAG 6547 003202 0000 0000 6548 003203 7204 GLK 6549 003204 2427 "G-300^45+"T-300+NFLAG /GTF 6550 003205 4336 "F-300^45+PFLAG 6551 003206 0000 0000 6552 003207 6004 GTF 6553 003210 2464 "H-300^45+"L-300+NFLAG /HLT 6554 003211 5344 "T-300^45+PFLAG 6555 003212 0000 0000 6556 003213 7402 HLT 6557 003214 2516 "I-300^45+"A-300+NFLAG /IAC 6558 003215 4157 "C-300^45+PFLAG 6559 003216 0000 0000 6560 003217 7001 IAC 6561 003220 4533 "I-300^45+"N-300+MFLAG /INC 6562 003221 4157 "C-300^45+PFLAG 6563 003222 0000 0000 6564 003223 2000 INC 0000 6565 003224 2534 "I-300^45+"O-300+NFLAG /IOF 6566 003225 4336 "F-300^45+PFLAG 6567 003226 0000 0000 6568 003227 6002 IOF 6569 003230 2534 "I-300^45+"O-300+NFLAG /ION 6570 003231 5006 "N-300^45+PFLAG 6571 003232 0000 0000 6572 003233 6001 ION 6573 003234 2534 "I-300^45+"O-300+NFLAG /IOT 6574 003235 5344 "T-300^45+PFLAG 6575 003236 0000 0000 6576 003237 6000 IOT 6577 003240 4540 "I-300^45+"S-300+MFLAG /ISZ 6578 003241 5702 "Z-300^45+PFLAG 6579 003242 0000 0000 6580 003243 2000 ISZ 0000 6581 003244 4577 "J-300^45+"M-300+MFLAG /JMP 6582 003245 5120 "P-300^45+PFLAG 6583 003246 0000 0000 6584 003247 5000 JMP 0000 6585 003250 4577 "J-300^45+"M-300+MFLAG /JMS 6586 003251 5277 "S-300^45+PFLAG 6587 003252 0000 0000 6588 003253 4000 JMS 0000 6589 003254 2632 "K-300^45+"C-300+NFLAG /KCC 6590 003255 4157 "C-300^45+PFLAG 6591 003256 0000 0000 6592 003257 6032 KCC 6593 003260 2632 "K-300^45+"C-300+NFLAG /KCF 6594 003261 4336 "F-300^45+PFLAG 6595 003262 0000 0000 6596 003263 6030 KCF 6597 003264 2640 "K-300^45+"I-300+NFLAG /KIE 6598 003265 4271 "E-300^45+PFLAG 6599 003266 0000 0000 6600 003267 6035 KIE 6601 003270 2651 "K-300^45+"R-300+NFLAG /KRB 6602 003271 4112 "B-300^45+PFLAG 6603 003272 0000 0000 6604 003273 6036 KRB 6605 003274 2651 "K-300^45+"R-300+NFLAG /KRS 6606 003275 5277 "S-300^45+PFLAG 6607 003276 0000 0000 6608 003277 6034 KRS 6609 003300 2652 "K-300^45+"S-300+NFLAG /KSF 6610 003301 4336 "F-300^45+PFLAG 6611 003302 0000 0000 6612 003303 6031 KSF 6613 003304 2675 "L-300^45+"A-300+NFLAG /LAS 6614 003305 5277 "S-300^45+PFLAG 6615 003306 0000 0000 6616 003307 7604 LAS 6617 003310 2717 "L-300^45+"S-300+NFLAG /LSR 6618 003311 5232 "R-300^45+PFLAG 6619 003312 0000 0000 6620 003313 7417 LSR 6621 003314 2762 "M-300^45+"Q-300+NFLAG /MQA 6622 003315 4045 "A-300^45+PFLAG 6623 003316 0000 0000 6624 003317 7501 MQA 6625 003320 2762 "M-300^45+"Q-300+NFLAG /MQL 6626 003321 4674 "L-300^45+PFLAG 6627 003322 0000 0000 6628 003323 7421 MQL 6629 003324 2766 "M-300^45+"U-300+NFLAG /MUY 6630 003325 5635 "Y-300^45+PFLAG 6631 003326 0000 0000 6632 003327 7405 MUY 6633 003330 3023 "N-300^45+"M-300+NFLAG /NMI 6634 003331 4515 "I-300^45+PFLAG 6635 003332 0000 0000 6636 003333 7411 NMI 6637 003334 3025 "N-300^45+"O-300+NFLAG /NOP 6638 003335 5120 "P-300^45+PFLAG 6639 003336 0000 0000 6640 003337 7000 NOP 6641 003340 3025 "N-300^45+"O-300+NFLAG /NOPSKP 6642 003341 5143 "P-300^45+"S-300+PFLAG 6643 003342 0647 "K-300^45+"P-300 6644 003343 7400 NOPSKP 6645 003344 3073 "O-300^45+"P-300+NFLAG /OPR 6646 003345 5232 "R-300^45+PFLAG 6647 003346 0000 0000 6648 003347 7000 OPR 6649 003350 3076 "O-300^45+"S-300+NFLAG /OSR 6650 003351 5232 "R-300^45+PFLAG 6651 003352 0000 0000 6652 003353 7404 OSR 6653 003354 3123 "P-300^45+"C-300+NFLAG /PCE 6654 003355 4271 "E-300^45+PFLAG 6655 003356 0000 0000 6656 003357 6020 PCE 6657 003360 3123 "P-300^45+"C-300+NFLAG /PCF 6658 003361 4336 "F-300^45+PFLAG 6659 003362 0000 0000 6660 003363 6022 PCF 6661 003364 3134 "P-300^45+"L-300+NFLAG /PLS 6662 003365 5277 "S-300^45+PFLAG 6663 003366 0000 0000 6664 003367 6026 PLS 6665 003370 3140 "P-300^45+"P-300+NFLAG /PPC 6666 003371 4157 "C-300^45+PFLAG 6667 003372 0000 0000 6668 003373 6024 PPC 6669 003374 3143 "P-300^45+"S-300+NFLAG /PSF 6670 003375 4336 "F-300^45+PFLAG 6671 003376 0000 0000 6672 003377 6021 PSF 6673 003400 3233 "R-300^45+"A-300+NFLAG /RAL 6674 003401 4674 "L-300^45+PFLAG 6675 003402 0000 0000 6676 003403 7004 RAL 6677 003404 3233 "R-300^45+"A-300+NFLAG /RAR 6678 003405 5232 "R-300^45+PFLAG 6679 003406 0000 0000 6680 003407 7010 RAR 6681 003410 3235 "R-300^45+"C-300+NFLAG /RCC 6682 003411 4157 "C-300^45+PFLAG 6683 003412 0000 0000 6684 003413 6016 RCC 6685 003414 3236 "R-300^45+"D-300+NFLAG /RDF 6686 003415 4336 "F-300^45+PFLAG 6687 003416 0000 0000 6688 003417 6214 RDF 6689 003420 3240 "R-300^45+"F-300+NFLAG /RFC 6690 003421 4157 "C-300^45+PFLAG 6691 003422 0000 0000 6692 003423 6014 RFC 6693 003424 3243 "R-300^45+"I-300+NFLAG /RIB 6694 003425 4112 "B-300^45+PFLAG 6695 003426 0000 0000 6696 003427 6234 RIB 6697 003430 3243 "R-300^45+"I-300+NFLAG /RIF 6698 003431 4336 "F-300^45+PFLAG 6699 003432 0000 0000 6700 003433 6224 RIF 6701 003434 3247 "R-300^45+"M-300+NFLAG /RMF 6702 003435 4336 "F-300^45+PFLAG 6703 003436 0000 0000 6704 003437 6244 RMF 6705 003440 3252 "R-300^45+"P-300+NFLAG /RPE 6706 003441 4271 "E-300^45+PFLAG 6707 003442 0000 0000 6708 003443 6010 RPE 6709 003444 3254 "R-300^45+"R-300+NFLAG /RRB 6710 003445 4112 "B-300^45+PFLAG 6711 003446 0000 0000 6712 003447 6012 RRB 6713 003450 3255 "R-300^45+"S-300+NFLAG /RSF 6714 003451 4336 "F-300^45+PFLAG 6715 003452 0000 0000 6716 003453 6011 RSF 6717 003454 3256 "R-300^45+"T-300+NFLAG /RTF 6718 003455 4336 "F-300^45+PFLAG 6719 003456 0000 0000 6720 003457 6005 RTF 6721 003460 3256 "R-300^45+"T-300+NFLAG /RTL 6722 003461 4674 "L-300^45+PFLAG 6723 003462 0000 0000 6724 003463 7006 RTL 6725 003464 3256 "R-300^45+"T-300+NFLAG /RTR 6726 003465 5232 "R-300^45+PFLAG 6727 003466 0000 0000 6728 003467 7012 RTR 6729 003470 3300 "S-300^45+"A-300+NFLAG /SAM 6730 003471 4741 "M-300^45+PFLAG 6731 003472 0000 0000 6732 003473 7457 SAM 6733 003474 3302 "S-300^45+"C-300+NFLAG /SCA 6734 003475 4045 "A-300^45+PFLAG 6735 003476 0000 0000 6736 003477 7441 SCA 6737 003500 3302 "S-300^45+"C-300+NFLAG /SCL 6738 003501 4674 "L-300^45+PFLAG 6739 003502 0000 0000 6740 003503 7403 SCL 6741 003504 3306 "S-300^45+"G-300+NFLAG /SGT 6742 003505 5344 "T-300^45+PFLAG 6743 003506 0000 0000 6744 003507 6006 SGT 6745 003510 3307 "S-300^45+"H-300+NFLAG /SHL 6746 003511 4674 "L-300^45+PFLAG 6747 003512 0000 0000 6748 003513 7413 SHL 6749 003514 3310 "S-300^45+"I-300+NFLAG /SINT 6750 003515 5032 "N-300^45+"T-300+PFLAG 6751 003516 0000 0000 6752 003517 6254 SINT 6753 / "S-300^45+"K-300+NFLAG /SKB 6754 / "B-300^45+PFLAG 6755 / 0000 6756 / SKB 6757 003520 3312 "S-300^45+"K-300+NFLAG /SKON 6758 003521 5071 "O-300^45+"N-300+PFLAG 6759 003522 0000 0000 6760 003523 6000 SKON 6761 003524 3312 "S-300^45+"K-300+NFLAG /SKP 6762 003525 5120 "P-300^45+PFLAG 6763 003526 0000 0000 6764 003527 7410 SKP 6765 003530 3314 "S-300^45+"M-300+NFLAG /SMA 6766 003531 4045 "A-300^45+PFLAG 6767 003532 0000 0000 6768 003533 7500 SMA 6769 003534 3315 "S-300^45+"N-300+NFLAG /SNA 6770 003535 4045 "A-300^45+PFLAG 6771 003536 0000 0000 6772 003537 7450 SNA 6773 003540 3315 "S-300^45+"N-300+NFLAG /SNL 6774 003541 4674 "L-300^45+PFLAG 6775 003542 0000 0000 6776 003543 7420 SNL 6777 003544 3317 "S-300^45+"P-300+NFLAG /SPA 6778 003545 4045 "A-300^45+PFLAG 6779 003546 0000 0000 6780 003547 7510 SPA 6781 003550 3321 "S-300^45+"R-300+NFLAG /SRQ 6782 003551 5165 "Q-300^45+PFLAG 6783 003552 0000 0000 6784 003553 6003 SRQ 6785 003554 3323 "S-300^45+"T-300+NFLAG /STA 6786 003555 4045 "A-300^45+PFLAG 6787 003556 0000 0000 6788 003557 7240 NL7777 6789 003560 3323 "S-300^45+"T-300+NFLAG /STL 6790 003561 4674 "L-300^45+PFLAG 6791 003562 0000 0000 6792 003563 7120 STL 6793 003564 3324 "S-300^45+"U-300+NFLAG /SUF 6794 003565 4336 "F-300^45+PFLAG 6795 003566 0000 0000 6796 003567 6274 SUF 6797 003570 3326 "S-300^45+"W-300+NFLAG /SWAB 6798 003571 4047 "A-300^45+"B-300+PFLAG 6799 003572 0000 0000 6800 003573 7431 SWAB 6801 003574 3326 "S-300^45+"W-300+NFLAG /SWBA 6802 003575 4113 "B-300^45+"A-300+PFLAG 6803 003576 0000 0000 6804 003577 7447 SWBA 6805 003600 3326 "S-300^45+"W-300+NFLAG /SWP 6806 003601 5120 "P-300^45+PFLAG 6807 003602 0000 0000 6808 003603 7521 SWP 6809 003604 3331 "S-300^45+"Z-300+NFLAG /SZA 6810 003605 4045 "A-300^45+PFLAG 6811 003606 0000 0000 6812 003607 7440 SZA 6813 003610 3331 "S-300^45+"Z-300+NFLAG /SZL 6814 003611 4674 "L-300^45+PFLAG 6815 003612 0000 0000 6816 003613 7430 SZL 6817 003614 5345 "T-300^45+"A-300+MFLAG /TAD 6818 003615 4224 "D-300^45+PFLAG 6819 003616 0000 0000 6820 003617 1000 TAD 0000 6821 003620 3347 "T-300^45+"C-300+NFLAG /TCF 6822 003621 4336 "F-300^45+PFLAG 6823 003622 0000 0000 6824 003623 6042 TCF 6825 003624 3352 "T-300^45+"F-300+NFLAG /TFL 6826 003625 4674 "L-300^45+PFLAG 6827 003626 0000 0000 6828 003627 6040 TFL 6829 003630 3360 "T-300^45+"L-300+NFLAG /TLS 6830 003631 5277 "S-300^45+PFLAG 6831 003632 0000 0000 6832 003633 6046 TLS 6833 003634 3364 "T-300^45+"P-300+NFLAG /TPC 6834 003635 4157 "C-300^45+PFLAG 6835 003636 0000 0000 6836 003637 6044 TPC 6837 003640 3367 "T-300^45+"S-300+NFLAG /TSF 6838 003641 4336 "F-300^45+PFLAG 6839 003642 0000 0000 6840 003643 6041 TSF 6841 003644 3367 "T-300^45+"S-300+NFLAG /TSK 6842 003645 4627 "K-300^45+PFLAG 6843 003646 0000 0000 6844 003647 6045 TSK 6845 003650 7777 7777 /THIS TERMINATES THE TABLE 6846 6847 PAGE 6848 6849 / ADDITIONAL LINC MODE SYMBOLS ENABLED BY /8, /9. 6850 6851 004000 2051 "A-300^45+"D-300+NFLAG /ADA 6852 004001 4045 "A-300^45+PFLAG 6853 004002 0000 0000 6854 004003 1100 1100 6855 004004 4051 "A-300^45+"D-300+MFLAG /ADD 6856 004005 4224 "D-300^45+PFLAG 6857 004006 0000 0000 6858 004007 2000 2000 6859 004010 2051 "A-300^45+"D-300+NFLAG /ADM 6860 004011 4741 "M-300^45+PFLAG 6861 004012 0000 0000 6862 004013 1140 1140 6863 004014 2065 "A-300^45+"P-300+NFLAG /APO 6864 004015 5053 "O-300^45+PFLAG 6865 004016 0000 0000 6866 004017 0451 0451 6867 004020 2071 "A-300^45+"T-300+NFLAG /ATR 6868 004021 5232 "R-300^45+PFLAG 6869 004022 0000 0000 6870 004023 0014 0014 6871 004024 2075 "A-300^45+"X-300+NFLAG /AXO 6872 004025 5053 "O-300^45+PFLAG 6873 004026 0000 0000 6874 004027 0001 0001 6875 004030 2077 "A-300^45+"Z-300+NFLAG /AZE 6876 004031 4271 "E-300^45+PFLAG 6877 004032 0000 0000 6878 004033 0450 0450 6879 004034 2115 "B-300^45+"C-300+NFLAG /BCL 6880 004035 4674 "L-300^45+PFLAG 6881 004036 0000 0000 6882 004037 1540 1540 6883 004040 2115 "B-300^45+"C-300+NFLAG /BCO 6884 004041 5053 "O-300^45+PFLAG 6885 004042 0000 0000 6886 004043 1640 1640 6887 004044 2135 "B-300^45+"S-300+NFLAG /BSE 6888 004045 4271 "E-300^45+PFLAG 6889 004046 0000 0000 6890 004047 1600 1600 6891 004050 2167 "C-300^45+"H-300+NFLAG /CHK 6892 004051 4627 "K-300^45+PFLAG 6893 004052 0000 0000 6894 004053 0707 0707 6895 004054 2173 "C-300^45+"L-300+NFLAG /CLR 6896 004055 5232 "R-300^45+PFLAG 6897 004056 0000 0000 6898 004057 0011 0011 6899 004060 2176 "C-300^45+"O-300+NFLAG /COM 6900 004061 4741 "M-300^45+PFLAG 6901 004062 0000 0000 6902 004063 0017 0017 6903 004064 2235 "D-300^45+"I-300+NFLAG /DIS 6904 004065 5277 "S-300^45+PFLAG 6905 004066 0000 0000 6906 004067 0140 0140 6907 004070 2236 "D-300^45+"J-300+NFLAG /DJR 6908 004071 5232 "R-300^45+PFLAG 6909 004072 0000 0000 6910 004073 0006 0006 6911 004074 2247 "D-300^45+"S-300+NFLAG /DSC 6912 004075 4157 "C-300^45+PFLAG 6913 004076 0000 0000 6914 004077 1740 1740 6915 004100 2314 "E-300^45+"S-300+NFLAG /ESF 6916 004101 4336 "F-300^45+PFLAG 6917 004102 0000 0000 6918 004103 0004 0004 6919 004104 2321 "E-300^45+"X-300+NFLAG /EXC 6920 004105 4157 "C-300^45+PFLAG 6921 004106 0000 0000 6922 004107 0740 0740 6923 004110 2352 "F-300^45+"L-300+NFLAG /FLO 6924 004111 5053 "O-300^45+PFLAG 6925 004112 0000 0000 6926 004113 0454 0454 6927 / "H-300^45+"L-300+NFLAG /HLT 6928 / "T-300^45+PFLAG 6929 / 0000 6930 / HLT 6931 004114 2516 "I-300^45+"A-300+NFLAG /IAAC 6932 004115 4050 "A-300^45+"C-300+PFLAG 6933 004116 0000 0000 6934 004117 6171 6171 6935 004120 2516 "I-300^45+"A-300+NFLAG /IACA 6936 004121 4160 "C-300^45+"A-300+PFLAG 6937 004122 0000 0000 6938 004123 6167 6167 6939 004124 2516 "I-300^45+"A-300+NFLAG /IACF 6940 004125 4165 "C-300^45+"F-300+PFLAG 6941 004126 0000 0000 6942 004127 6175 6175 6943 004130 2516 "I-300^45+"A-300+NFLAG /IACS 6944 004131 4202 "C-300^45+"S-300+PFLAG 6945 004132 0000 0000 6946 004133 6163 6163 6947 004134 2517 "I-300^45+"B-300+NFLAG /IBAC 6948 004135 4050 "A-300^45+"C-300+PFLAG 6949 004136 0000 0000 6950 004137 6143 6143 6951 004140 2517 "I-300^45+"B-300+NFLAG /IBZ 6952 004141 5702 "Z-300^45+PFLAG 6953 004142 0000 0000 6954 004143 0453 0453 6955 004144 2520 "I-300^45+"C-300+NFLAG /ICON 6956 004145 5071 "O-300^45+"N-300+PFLAG 6957 004146 0000 0000 6958 004147 6141 6141 6959 004150 2520 "I-300^45+"C-300+NFLAG /ICS1 6960 004151 5333 "S-300^45+"1-225+PFLAG 6961 004152 0000 0000 6962 004153 6151 6151 6963 004154 2520 "I-300^45+"C-300+NFLAG /ICS2 6964 004155 5334 "S-300^45+"2-225+PFLAG 6965 004156 0000 0000 6966 004157 6153 6153 6967 004160 2531 "I-300^45+"L-300+NFLAG /ILES 6968 004161 4314 "E-300^45+"S-300+PFLAG 6969 004162 0000 0000 6970 004163 6145 6145 6971 004164 2532 "I-300^45+"M-300+NFLAG /IMBS 6972 004165 4135 "B-300^45+"S-300+PFLAG 6973 004166 0000 0000 6974 004167 6155 6155 6975 004170 2533 "I-300^45+"N-300+NFLAG /INTS 6976 004171 5367 "T-300^45+"S-300+PFLAG 6977 004172 0000 0000 6978 004173 6147 6147 6979 004174 2534 "I-300^45+"O-300+NFLAG /IOB 6980 004175 4112 "B-300^45+PFLAG 6981 004176 0000 0000 6982 004177 0500 0500 6983 004200 2540 "I-300^45+"S-300+NFLAG /ISSP 6984 004201 5317 "S-300^45+"P-300+PFLAG 6985 004202 0000 0000 6986 004203 6165 6165 6987 004204 2541 "I-300^45+"T-300+NFLAG /ITAC 6988 004205 4050 "A-300^45+"C-300+PFLAG 6989 004206 0000 0000 6990 004207 6157 6157 6991 004210 2547 "I-300^45+"Z-300+NFLAG /IZSA 6992 004211 5300 "S-300^45+"A-300+PFLAG 6993 004212 0000 0000 6994 004213 6173 6173 6995 / "J-300^45+"M-300+MFLAG /JMP 6996 / "P-300^45+PFLAG 6997 / 0000 6998 / JMP 0000 6999 004214 4605 "J-300^45+"S-300+MFLAG /JSR 7000 004215 5232 "R-300^45+PFLAG 7001 004216 0000 0000 7002 004217 6000 6000 7003 004220 2631 "K-300^45+"B-300+NFLAG /KBD 7004 004221 4224 "D-300^45+PFLAG 7005 004222 0000 0000 7006 004223 0515 0515 7007 004224 2652 "K-300^45+"S-300+NFLAG /KST 7008 004225 5344 "T-300^45+PFLAG 7009 004226 0000 0000 7010 004227 0415 0415 7011 004230 2675 "L-300^45+"A-300+NFLAG /LAM 7012 004231 4741 "M-300^45+PFLAG 7013 004232 0000 0000 7014 004233 1200 1200 7015 004234 2700 "L-300^45+"D-300+NFLAG /LDA 7016 004235 4045 "A-300^45+PFLAG 7017 004236 0000 0000 7018 004237 1000 1000 7019 004240 2700 "L-300^45+"D-300+NFLAG /LDF 7020 004241 4336 "F-300^45+PFLAG 7021 004242 0000 0000 7022 004243 0640 0640 7023 004244 2700 "L-300^45+"D-300+NFLAG /LDH 7024 004245 4450 "H-300^45+PFLAG 7025 004246 0000 0000 7026 004247 1300 1300 7027 004250 2705 "L-300^45+"I-300+NFLAG /LIF 7028 004251 4336 "F-300^45+PFLAG 7029 004252 0000 0000 7030 004253 0600 0600 7031 004254 2705 "L-300^45+"I-300+NFLAG /LINC 7032 004255 5011 "N-300^45+"C-300+PFLAG 7033 004256 0000 0000 7034 004257 6141 6141 7035 004260 2711 "L-300^45+"M-300+NFLAG /LMB 7036 004261 4112 "B-300^45+PFLAG 7037 004262 0000 0000 7038 004263 0600 0600 7039 004264 2711 "L-300^45+"M-300+NFLAG /LMR 7040 004265 5232 "R-300^45+PFLAG 7041 004266 0000 0000 7042 004267 6151 6151 7043 004270 2717 "L-300^45+"S-300+NFLAG /LSW 7044 004271 5523 "W-300^45+PFLAG 7045 004272 0000 0000 7046 004273 0517 0517 7047 004274 2726 "L-300^45+"Z-300+NFLAG /LZE 7048 004275 4271 "E-300^45+PFLAG 7049 004276 0000 0000 7050 004277 0452 0452 7051 004300 2764 "M-300^45+"S-300+NFLAG /MSC 7052 004301 4157 "C-300^45+PFLAG 7053 004302 0000 0000 7054 004303 0000 0000 7055 004304 2765 "M-300^45+"T-300+NFLAG /MTB 7056 004305 4112 "B-300^45+PFLAG 7057 004306 0000 0000 7058 004307 0703 0703 7059 004310 2766 "M-300^45+"U-300+NFLAG /MUL 7060 004311 4674 "L-300^45+PFLAG 7061 004312 0000 0000 7062 004313 1240 1240 7063 / "N-300^45+"O-300+NFLAG /NOP 7064 / "P-300^45+PFLAG 7065 / 0000 7066 / NOP 7067 004314 3124 "P-300^45+"D-300+NFLAG /PDP 7068 004315 5120 "P-300^45+PFLAG 7069 004316 0000 0000 7070 004317 0002 0002 7071 004320 3166 "Q-300^45+"A-300+NFLAG /QAC 7072 004321 4157 "C-300^45+PFLAG 7073 004322 0000 0000 7074 004323 0005 0005 7075 004324 3201 "Q-300^45+"L-300+NFLAG /QLZ 7076 004325 5702 "Z-300^45+PFLAG 7077 004326 0000 0000 7078 004327 0455 0455 7079 004330 3235 "R-300^45+"C-300+NFLAG /RCG 7080 004331 4403 "G-300^45+PFLAG 7081 004332 0000 0000 7082 004333 0701 0701 7083 004334 3236 "R-300^45+"D-300+NFLAG /RDC 7084 004335 4157 "C-300^45+PFLAG 7085 004336 0000 0000 7086 004337 0700 0700 7087 004340 3236 "R-300^45+"D-300+NFLAG /RDE 7088 004341 4271 "E-300^45+PFLAG 7089 004342 0000 0000 7090 004343 0702 0702 7091 004344 3251 "R-300^45+"O-300+NFLAG /ROL 7092 004345 4674 "L-300^45+PFLAG 7093 004346 0000 0000 7094 004347 0240 0240 7095 004350 3251 "R-300^45+"O-300+NFLAG /ROR 7096 004351 5232 "R-300^45+PFLAG 7097 004352 0000 0000 7098 004353 0300 0300 7099 004354 3255 "R-300^45+"S-300+NFLAG /RSW 7100 004355 5523 "W-300^45+PFLAG 7101 004356 0000 0000 7102 004357 0516 0516 7103 004360 3256 "R-300^45+"T-300+NFLAG /RTA 7104 004361 4045 "A-300^45+PFLAG 7105 004362 0000 0000 7106 004363 0015 0015 7107 004364 3300 "S-300^45+"A-300+NFLAG /SAE 7108 004365 4271 "E-300^45+PFLAG 7109 004366 0000 0000 7110 004367 1440 1440 7111 / "S-300^45+"A-300+NFLAG /SAM 7112 / "M-300^45+PFLAG 7113 / 0000 7114 / SAM 7115 004370 3302 "S-300^45+"C-300+NFLAG /SCR 7116 004371 5232 "R-300^45+PFLAG 7117 004372 0000 0000 7118 004373 0340 0340 7119 004374 3304 "S-300^45+"E-300+NFLAG /SET 7120 004375 5344 "T-300^45+PFLAG 7121 004376 0000 0000 7122 004377 0040 0040 7123 004400 3305 "S-300^45+"F-300+NFLAG /SFA 7124 004401 4045 "A-300^45+PFLAG 7125 004402 0000 0000 7126 004403 0024 0024 7127 004404 3307 "S-300^45+"H-300+NFLAG /SHD 7128 004405 4224 "D-300^45+PFLAG 7129 004406 0000 0000 7130 004407 1400 1400 7131 / "S-300^45+"K-300+NFLAG /SKP 7132 / "P-300^45+PFLAG 7133 / 0000 7134 / SKP 7135 004410 3315 "S-300^45+"N-300+NFLAG /SNS 7136 004411 5277 "S-300^45+PFLAG 7137 004412 0000 0000 7138 004413 0440 0440 7139 004414 3321 "S-300^45+"R-300+NFLAG /SRO 7140 004415 5053 "O-300^45+PFLAG 7141 004416 0000 0000 7142 004417 1500 1500 7143 / "S-300^45+"T-300+NFLAG /STA 7144 / "A-300^45+PFLAG 7145 / 0000 7146 / 1040 7147 004420 3323 "S-300^45+"T-300+NFLAG /STB 7148 004421 4112 "B-300^45+PFLAG 7149 004422 0000 0000 7150 004423 0414 0414 7151 004424 5323 "S-300^45+"T-300+MFLAG /STC 7152 004425 4157 "C-300^45+PFLAG 7153 004426 0000 0000 7154 004427 4000 4000 7155 004430 3323 "S-300^45+"T-300+NFLAG /STD 7156 004431 4224 "D-300^45+PFLAG 7157 004432 0000 0000 7158 004433 0416 0416 7159 004434 3323 "S-300^45+"T-300+NFLAG /STH 7160 004435 4450 "H-300^45+PFLAG 7161 004436 0000 0000 7162 004437 1340 1340 7163 004440 3326 "S-300^45+"W-300+NFLAG /SWD 7164 004441 4224 "D-300^45+PFLAG 7165 004442 0000 0000 7166 004443 0457 0457 7167 004444 3327 "S-300^45+"X-300+NFLAG /SXL 7168 004445 4674 "L-300^45+PFLAG 7169 004446 0000 0000 7170 004447 0400 0400 7171 004450 3345 "T-300^45+"A-300+NFLAG /TAC 7172 004451 4157 "C-300^45+PFLAG 7173 004452 0000 0000 7174 004453 0003 0003 7175 004454 3361 "T-300^45+"M-300+NFLAG /TMA 7176 004455 4045 "A-300^45+PFLAG 7177 004456 0000 0000 7178 004457 0023 0023 7179 004460 3373 "T-300^45+"W-300+NFLAG /TWC 7180 004461 4157 "C-300^45+PFLAG 7181 004462 0000 0000 7182 004463 0417 0417 7183 004464 3375 "T-300^45+"Y-300+NFLAG /TYP 7184 004465 5120 "P-300^45+PFLAG 7185 004466 0000 0000 7186 004467 0514 0514 7187 004470 3411 "U-300^45+NFLAG /U 7188 004471 4000 PFLAG 7189 004472 0000 0000 7190 004473 0010 0010 7191 004474 3426 "U-300^45+"M-300+NFLAG /UMB 7192 004475 4112 "B-300^45+PFLAG 7193 004476 0000 0000 7194 004477 0640 0640 7195 004500 3526 "W-300^45+"C-300+NFLAG /WCG 7196 004501 4403 "G-300^45+PFLAG 7197 004502 0000 0000 7198 004503 0705 0705 7199 004504 3545 "W-300^45+"R-300+NFLAG /WRC 7200 004505 4157 "C-300^45+PFLAG 7201 004506 0000 0000 7202 004507 0704 0704 7203 004510 3545 "W-300^45+"R-300+NFLAG /WRI 7204 004511 4515 "I-300^45+PFLAG 7205 004512 0000 0000 7206 004513 0706 0706 7207 004514 3607 "X-300^45+"O-300+NFLAG /XOA 7208 004515 4045 "A-300^45+PFLAG 7209 004516 0000 0000 7210 004517 0021 0021 7211 004520 3613 "X-300^45+"S-300+NFLAG /XSK 7212 004521 4627 "K-300^45+PFLAG 7213 004522 0000 0000 7214 004523 0200 0200 7215 004524 3726 "Z-300^45+"T-300+NFLAG /ZTA 7216 004525 4045 "A-300^45+PFLAG 7217 004526 0000 0000 7218 004527 0005 0005 7219 004530 3734 "Z-300^45+"Z-300+NFLAG /ZZZ 7220 004531 5702 "Z-300^45+PFLAG 7221 004532 0000 0000 7222 004533 0455 0455 7223 004534 7777 7777 /THIS ENDS THE ENTIRE TABLE 7224 7225 PAGE 7226 7227 SYMSIZE=.-SYMTAB%200 /NUMBER OF BLOCKS IN SYMBOL TABLE 7228 7229 OVLYBLK=OVLYBLK+SYMSIZE /UPDATE OVERLAY BLOCK NUMBER 7230 7231 CRFBLK= OVLYBLK /CROSS-REFERENCE OVERLAY BLOCK NUMBER (RELATIVE) 7232 7233 CRFOV, *7777 /END OF AN 7234 *7777 /OVERLAY 7235 7236 *CRFOV /RESTORE ORIGIN 7237 7238 RELOC 400 /WHERE IT BELONGS 7239 7240 000400* 3145 DCA ECHOSW /FORCE ECHO ON 7241 000401* 1616 GRILUP, TAD I GRIPTR /GET A PAIR 7242 000402* 4534 JMS I ROR6/[XROR6] /MOVE OVER 7243 000403* 4210 JMS GRTRIM /PRINT IT 7244 000404* 1616 TAD I GRIPTR /GET AGAIN 7245 000405* 4210 JMS GRTRIM /PRINT LOW-ORDER 7246 000406* 2216 ISZ GRIPTR /BUMP TO NEXT PAIR 7247 000407* 5201 JMP GRILUP /GO DO NEXT 7248 7249 000410* 0000 GRTRIM, .-. /TRIM AND PRINT ROUTINE 7250 000411* 0136 AND L77/[77] /JUST SIX-BIT 7251 000412* 7450 SNA /SKIP IF NORMAL CHARACTER 7252 000413* 5617 JMP I PNOTLAX /JUMP IF END 7253 000414* 4446 JMS I P6CH/[XP6CH] /PRINT IT 7254 000415* 5610 JMP I GRTRIM /RETURN 7255 7256 000416* 0420 GRIPTR, GRIMSG /GRIPE MESSAGE POINTER 7257 000417* 0255 PNOTLAX,NOTLAX /POINTER TO WHERE TO GO NEXT 7258 000420* 5252 GRIMSG, TEXT "**** CREF NOT FULLY IMPLEMENTED YET! ****" 000421* 5252 000422* 4003 000423* 2205 000424* 0640 000425* 1617 000426* 2440 000427* 0625 000430* 1414 000431* 3140 000432* 1115 000433* 2014 000434* 0515 000435* 0516 000436* 2405 000437* 0440 000440* 3105 000441* 2441 000442* 4052 000443* 5252 000444* 5200 7259 7260 PAGE 7261 7262 RELOC /TURN OFF RELOCATION 7263 7264 CRFSIZE= .-CRFOV%200 /SIZE OF THIS OVERLAY 7265 7266 $*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$ /THAT'S ALL FOLK! ABCKSL 7215 ABGTFL 4321 ACL 7701 ACPLEN 6364 AFLPNT 4322 AFLSH 0313 AFLSHM 0314 AI7640 2273 AMPSND 0401 AND 0000 ANEWSE 7107 ANGOOD 1143 ANY 0072 AOUR 0347 ARITH 0026 ASC 7403 ASIGN 0015 ASMBLK 0037 ASMCOD 0000 ASMCOM 7032 ASMFUN 1725 ASMSIZ 0004 ASR 7415 ASSTM2 7036 ASSTMP 7121 ASSYIN 7050 ATCOD 2665 ATEKAY 0353 ATEKTS 0231 ATMSPT 0315 ATOM 0200 B8KZAP 2473 unreferenced BAKADR 4645 BAR 0404 BCKSL 7217 BDCH 0101 BDFLST 2775 BDFUDG 1566 BE 0117 BEGLIN 0115 BEOTAP 2441 BEOTIN 2465 BFDONE 4035 BFUN 2471 BFUNCO 2547 BGETFL 2501 BINADR 0020 BINALO 4323 BINARY 4200 BININ 2401 BINOUT 2400 BINWRT 2460 BKSLSH 7212 BL0001 0232 BL2002 1353 BL7604 1354 BL7605 1355 unreferenced BL7757 1356 BL7765 1347 BLADR 1327 BLBACK 0251 BLBAK 0202 BLBDIF 1362 BLBEGN 4724 BLBZAP 0203 BLCALC 4712 BLDUN 1200 BLFIXC 1224 BLFXLE 1352 BLJMP 0247 BLKCNT 4076 BLKEXT 1116 BLLOOP 0207 BLOCNT 0137 BLONE 1350 BLOUT 0221 BLPRT 0233 BLPTR 0200 BLPTR2 0201 BLSM0 1357 BLSM1 1360 BLSMSG 0733 BLURB 4751 BLUSE2 1214 BLZAP1 0250 BLZAP2 0252 BN8KZP 2533 unreferenced BO 0131 BOS 2615 BOVFL 2536 BRECRD 2472 BRKTRP 0333 BSET 1722 BSGROU 0762 BSGRP 0003 BSW 7002 BSYSIO 2554 BUFCNT 0140 BUFFAD 2470 BUFLUP 4152 BUFPTR 4163 BUFSW 0116 BUFWRK 4146 BUSD 0322 BWRITE 2437 BXR 0011 CAF 6007 CAM 7621 CBLK 0366 CDF 6201 CFAIL 0254 CFUN 0365 CHAR 0073 CHBLK 4074 CHBUF 4072 CHECKX 0332 CHEND 4164 CHFUN 4073 CHKBUF 4053 CHKCON 1701 CHKCOV 4676 CHKEN2 4123 CHKEN3 4122 CHKEND 4111 CHKIT 0416 CHKJMP 2557 CHKKCC 2571 CHKKRS 2560 CHKKSF 2556 CHKLST 0141 CHKMOD 6605 CHKMOR 0523 CHKSTN 1637 CHKUP 3215 CHPTR 0142 CHSTND 1651 CHSTNX 1652 CIA 7041 CIF 6202 CINT 6204 CLA 7200 CLCDF 0325 CLENAB 4453 CLL 7100 CLNEXT 0326 CMA 7040 CML 7020 CNLIST 5045 CNTSYM 7004 CNZAP1 5046 CNZAP2 5054 CNZAP3 5062 CNZAP4 5070 CO 0176 CODELO 1723 COLCT 0102 COLIMT 1336 COLXIT 0566 COMADR 2611 COMMA 2600 COMMNT 3535 COMVAL 7446 CONDIN 3517 CONTES 4666 CPAGNU 0331 CPL 5651 CPLBEG 2000 CPLBUF 5657 CPLEND 5653 CPLPTR 6365 CPLZAP 6144 CR7706 7520 CRAZP9 7407 CREFSY 7400 CRERRP 2667 CRFBLB 0757 CRFBLK 0062 CRFEND 7432 CRFEQU 7435 CRFERR 7522 CRFFLD 7505 CRFIO 7421 CRFLIT 6400 CRFOV 4600 CRFOVB 2177 CRFSIZ 0001 CRFUN 2176 CRIOP 0271 CRLF 3354 CRWBLK 7475 CRWCNT 7447 CRWFUN 7474 CRZAPA 2060 CRZAPD 5672 CTEST 0250 unreferenced CTLCTS 2553 CTMP2 7521 CUF 6264 CURFLD 0143 CWBUFF 7473 DAD 7443 DAY 0601 DAYBLB 4734 DAYS 5556 DBLZAP 0223 DCA 3000 DCM 7575 DDZ 7665 DECLOP 3422 DECLUP 3420 DECNO 3444 DECPRT 3412 DECPTR 3547 DECQUO 3561 DECZAP 3441 DECZP1 1570 DECZP2 1421 DEJECT 3321 DIGERR 0255 DIGIT 1673 DIGPT 1674 DIGS 7513 DIVIDE 0742 DLD 7663 DMP1 6366 DMPCLP 6240 DMPXIT 6251 DMPZIT 6271 DMPZLP 6305 DMPZXT 6312 DODATE 0613 DOLBLK 0040 DOLLAR 3534 DOLPTZ 0567 DOMRI 1260 DOPZAP 0563 DORFIN 1004 DOTEXT 1135 DOTITL 4650 DOUO 3232 DOUO1 3233 DOUO2 3237 DOUSER 0420 DPIC 7573 DPSZ 7451 DST 7445 DT 2250 DTCA 6762 DTERR 2747 DTEST 0442 DTLA 6766 DTLB 6774 DTRA 6761 DTRB 6772 DTSF 6771 DTXA 6764 DUMBLB 0533 DUMPC 6211 DUMPSW 0144 DUMPZ 6253 DVI 7407 DVLOOP 0750 EAE 7401 EAEZAP 3505 ECHOSW 0145 EJCTSW 3371 ELIMN8 4503 ENDIN1 5100 ENDINI 3600 ENTPTR 0763 ENTSYM 2063 EOF 3520 EOFGRP 2543 EOFWRD 2544 EOFZAP 3541 EOS 0336 EOSPCK 0350 EQ2ZAP 0750 EQU 0703 EQUADR 0710 EQUFIX 0733 EQUSW 0001 EQUVAL 7450 ER 4313 ERR 0027 ERRLNK 2677 ERRNON 2704 ERROCT 4000 ERRSYM 2000 ERRTOT 0117 ERRXIT 2741 ERRZAP 2705 ETEST 5126 EXCODE 7400 EXLST 5000 EXNEW 7534 EXNEXT 7564 EXNLUP 7545 EXORLP 0216 EXPR 0030 EXRL2 4440 EXRL3 4434 EXRL4 4450 EXRL7 4444 EXTHRA 1342 EXZAP2 2354 EXZAP3 4016 EXZAPA 3567 EYE 1400 EYEVAL 1414 FCHAR 0002 FEBENT 5351 FI 0347 FIXEND 5125 FIXIO 0201 FIXMRF 0120 FLPNTR 4165 FLSHSW 0121 FLUSH 1456 FMRIOK 2134 FNMSKP 1101 FOO 0001 FROMPT 6760 FTEMP1 1402 FTEMP2 1403 FTEMP3 1404 FULLOR 7166 FXLOOP 7011 FXLUP2 7015 GCH 0031 GETBUF 4071 GETCOL 0032 GETIT1 4664 GETIT2 4677 GETREF 7451 GETSM 2246 GETSM0 2265 GETSM1 2327 GETSYM 0103 GETTIT 4166 GIVCH 4042 GIVNXT 4055 GIVTXT 1012 GLK 7204 GOFAST 4077 GOTCPL 5662 GOTFIX 6001 GOTZAP 5667 GOTZPL 5664 GRBAGN 4655 GRILUP 0401 GRIMSG 0420 GRIPTR 0416 GRPCNT 2542 GRTRIM 0410 GS10 2316 GSADJ 2245 GSCDF 2304 GSET 0474 GSYSIO 4114 GTEST 0454 GTF 6004 HI 7567 HLT 7402 IAC 7001 IBIT 0146 IC 4520 IE 0522 IEXP 0360 IEXPR 0074 IFCMA 1476 IFCOM 1475 IFDF 1437 IFERR 1514 unreferenced IFLAGS 0147 IFMOR 1445 IFNDF 1436 IFNST1 1443 IFNST2 1454 IFNZER 1447 IFZER 1450 II 0526 ILLCHR 0772 IM 0532 unreferenced INC 2000 INCHAR 2555 INCON 0031 INIFIN 3722 INITSW 6764 INSM 2000 INSMTM 2113 INSRTL 5747 INSYM 0003 INTFPT 2767 INVRT 0170 INXIT 2057 IOF 6002 IOLIST 0346 ION 6001 IOT 6000 IP 2535 IR 4537 ISIT 5710 ISZ 2000 JANENT 5350 JMP 5000 JMPC 5200 JMPIC 5600 JMS 4000 JMSC 4200 JMSI 4400 JMSIC 4600 JMSSYS 4240 KCC 6032 KCCIOT 6032 KCF 6030 KIE 6035 KRB 6036 KRS 6034 KRSIOT 6034 KSF 6031 KSFIOT 6031 L100 0655 L1060 0627 L117 3336 unreferenced L12 0147 L1200 1014 L136 3307 L15 0153 L177 0047 L1777 0071 L20 1346 L200 0054 L2000 0003 L21 1401 L25 3142 L3 0060 L32 3143 L37 0106 L377 1576 L4 0100 L40 0055 L4000 0713 L45 0033 L47 6067 L52 3104 L60 0061 L600 6147 L6000 0010 L6201 0760 L7 0122 L7000 0056 L7110 0546 L7377 0321 L7410 1047 L7576 2242 L7577 0114 L7600 0123 L77 0136 L7700 4167 L7700F 4672 L7700X 0562 L7707 0267 L7711 0270 L7720 0314 L7733 3144 L7740 0062 L7741 0063 L7753 0271 L7756 0064 L7761 0016 L7764 0547 L7770 0065 L7772 0154 L7774 0066 LAS 7604 LBLSWT 0075 LBRAK 1601 LCHKMO 7216 LEQUAL 1344 LETTER 1672 LG 0703 LGFIX 6125 LGOFAS 4324 LINEXT 1307 LIT1 5741 LIT2 6064 LIT2XT 6050 LITEND 5654 LITFLG 0150 LITMOR 5600 LITNBL 1675 LITPTR 5642 LITSWT 0151 LITTST 5732 LITYPE 0152 LLSIOT 6666 LLZAP1 4742 LLZAP2 4743 LMASK 6765 LMFIX 7240 LMFXTA 1377 LMFXTB 7007 LMLODE 7232 LMORG 7156 LMSWY9 7237 LMVCNT 3743 LMZAP1 1300 LMZAP2 1301 LMZAP3 0474 LMZAP4 1334 LMZAP5 1547 LMZAP6 0611 LMZAP7 0612 LMZAP8 2061 LMZAP9 2062 LMZAPA 3730 LMZAPB 3731 LMZAPJ 2754 LMZAPL 0433 LMZAPY 3570 LMZAPZ 3524 LNCLST 6524 LNCMRI 6600 LNCODE 6600 LNCORG 4351 LNCPT2 3742 LNCRL1 6527 LNCRL2 6537 LNCRL3 6543 LNCRL4 6547 LNCRL5 6551 LNCRL6 7171 LNCRL7 6553 LNCRL8 6555 LNCRLC 5203 LNCSYM 7122 LNEXT 2774 LNO 3430 LNORG2 4353 LNPRT 4017 LO 7570 LOCNTR 0104 LORIG1 6766 LORIG2 6705 LP14 4740 LPAGN 4634 LPARN 1600 LPCHK 4635 LPJMP 4636 LPJMS 4610 LPRNT 4637 LPT 0066 LPTEMP 4604 LPTIME 4643 LPTLST 4733 LPTMOU 4631 LPTMZA 4646 LPWAIT 4632 LPYRCT 0602 LPZAP1 3266 LPZAP2 3346 LREP 7170 LSEP 3372 LSFIOT 6661 LSNACL 1461 LSR 7417 LSTAR 1345 LSTBUF 3674 LSTEND 3777 LSTRPL 4325 LSTSW 0053 LSTWD 0105 LT2ZAP 6065 LT400 6150 LTABLE 7322 LTLOOP 5724 LUPCRF 7457 M32 0005 MAKMRI 2124 MASSIF 2371 MCNT 6762 MCNT2 6763 MCPLBE 6367 MEMPTR 0406 MFLAG 4000 MINUS 0403 MLOOP 6706 MLTAB2 7003 MLTABL 6756 MNOFIX 6740 MODE 0004 MODIF1 6602 MODIF2 6757 MODIFF 7005 MODLUP 6643 MODMOR 6631 MODTBL 6755 MONCNT 0603 MONLST 5320 MONTH 0604 MOVLST 3733 MQA 7501 MQL 7421 MRICON 2143 MRIERR 2131 MRILNC 1327 MRILOC 0771 MRINDS 0124 MRIOK 1325 MRISW 0017 MSTSIZ 0067 MUY 7405 MXADD 0470 MXNOPR 0254 NASSIF 2373 NE 1013 NEWRET 3453 NEWSTM 3447 NEWSTX 3452 NEWT1 3503 NEWTHR 3472 NEXTPA 1425 NFLAG 2000 NFMSG 5312 NL0000 7200 unreferenced NL0001 7201 NL0002 7326 NL2000 7332 NL3777 7350 NL4000 7330 NL5777 7352 unreferenced NL7775 7346 NL7776 7344 NL7777 7240 NM1 0111 NM2 0112 NM3 0113 NMFLGS 0125 NMI 7411 NMSLIT 5650 NOBNZP 4260 NOFRM2 3277 NOHDNG 1037 NOLS1 3075 NONSYM 2737 NOP 7000 NOPSKP 7400 NOPTIT 3274 NOPTT2 3302 NOPUN 4376 NOPUN1 3105 NORMSY 7151 NOS 0711 NOSYS 6505 NOTEST 6112 NOTHER 6747 NOTITL 3405 NOTLAX 0255 NOTSYM 7153 NU 1033 NULVL 0457 NUMBFS 4126 NUMLUP 0237 NUMRIC 0235 NUMSGN 1602 NWSTZP 3517 NXTADR 1434 NXTCOM 0475 NXTFIL 4056 NXTFLD 0634 NXTLOD 3627 NXTWRD 4127 OFF 0001 OFFIN 5633 OFPCNT 0155 OFPLIT 6117 OINTFP 1577 OLDLOC 6054 ON 0000 ONEXT 0320 OPCHK 0303 OPGONE 0311 OPOUT 1210 OPR 7000 OPSW 0156 OPTHRU 1232 OPTLST 5200 OPTPTR 0344 OPUS 1355 OPVAL 0034 ORSYM 0035 OSR 7404 OSWAL 0316 OSWMX 0317 OSYSIO 3536 OURADR 0265 OURNXT 1573 OUTCNT 2545 OUTCON 0033 OUTIN 0453 OUTINI 4605 OUTLPT 0035 OUTPTR 0157 OVFLPG 0036 OVFZP1 4610 OVFZP2 4614 OVLYBL 0062 OZAP2 1322 OZAP3 1323 OZAP4 4411 OZAPL2 6141 OZAPLG 6120 P400 0553 P45CH 0045 P45TMP 3102 P4CRLF 3344 P4KSYM 1575 P6CH 0046 P6EOL 3342 P6OK 3305 P6OUT 4034 P6TAB 3332 P6TST 4026 P7AGN 3203 P7CH 3200 P7JMP 3211 P7OFF 3213 P7TLS 3212 P7TSF 3210 PA 5121 PAGCNT 4170 PAGEND 6060 PAGEX 0325 PAGMOR 0627 PAGNUM 4644 PAGZND 6061 PAL 0200 PAS2ZA 4255 PATOM 0054 PAUSE2 0553 PBEOTA 3571 PBLBZA 1363 PBLDUN 1163 unreferenced PBLFXC 1162 unreferenced PBLKCN 0554 PBLPRT 1160 PCE 6020 PCF 6022 PCHEND 0556 PCHKKR 5051 unreferenced PCHKST 0160 PCPLBU 6370 PCPLEN 6056 PCPLP2 5656 PCPLPT 6053 PCRBLB 0323 PCRBLK 0327 PCRERR 0330 PCRFUN 0326 PCRLF 0037 PCRZPA 6770 PDBLZA 1364 PDECPT 1572 PDECZA 1571 PDLPTR 3400 PDOTIT 3572 PDUMPC 6052 PDUMPL 1560 PE 1125 PEJECT 0126 PELMN8 4326 PEOF 4171 PEOS 0161 PFLAG 4000 PG0 1351 PGIVCH 0162 PGOTZA 6145 PH 1130 PINTFP 4327 PINXIT 6767 PIOR 0127 PLGFIX 5737 PLINCT 3373 PLIT2 3146 PLMODE 7254 PLS 6026 PLSEP 0550 PLSTBF 4172 PLUS 0402 PMULT 0477 PNFCPT 0671 PNFRET 0670 PNM1 0364 PNOPTI 0313 PNOPTT 0315 PNOPUN 4330 PNOTLA 0417 PNUMBF 4331 PNWST1 4332 PNXTFI 0471 PNZAP8 0231 PO 1137 POFFIN 6146 POINT 1535 POINT2 1544 POINTM 1561 POLDLO 6371 PONTIN 1550 POP 4421 POVZP1 1333 POVZP2 1334 PPAGCN 0555 PPAGMO 0163 PPAGNU 1332 PPBLB1 4414 PPC 6024 PPRTTI 0253 PPSTB2 1161 PPUNFL 7120 PR50 2760 PR53 2662 PR7711 1341 PRCENT 0400 PREP 7201 PRESET 4173 PREST2 4174 PRFXIT 3175 PRGLIT 0164 PRNO 1432 PRNTFN 6502 PRSTAB 1164 PRSTB2 1231 PRSTB3 1232 PRTBUF 0040 PRTCH 3133 PRTDEC 0165 PRTFLD 0130 PRTLIM 4175 PRTPTR 4176 PRTRIM 6514 PRTSYM 0131 PRTTIT 3374 PRVCHR 0051 PRVOPR 0132 PS1STB 4334 PS2RPL 4337 PS2ZAP 1314 PSBLB2 0551 PSDRET 0041 PSDVAL 1346 PSF 6021 PSHOT7 4333 PSM1 4525 PSM4 4526 PSRTCO 1154 PSRTMO 1155 PSTBLB 1361 PSTCMN 1275 PSTSW 1676 PSTTLE 1331 PSWAL 0552 PSYMBL 1157 PTABLE 7265 PTHRWS 1343 PTITLE 1330 PTNREG 0166 PTNXIT 2356 PTR 7571 PTSTPE 5736 PUNCH 3145 PUNFLD 0637 PUNORG 6372 PUNSW 0107 PUNWD 0110 PUOCHK 2175 PUSH 4420 PUSHPT 3550 PUSXIT 4527 PUT45 1565 PUTFLD 0042 PUTLUP 3641 PUTORG 0043 PUTREF 7466 PUTWD 0044 PUTZAP 3040 PXFXT2 7006 PXPUTO 5740 PZPLEN 6057 PZPLND 6373 PZPLP2 5644 PZPLPT 6055 Q 0167 QMVCNT 3740 QPT2 3737 QPUTRE 6414 QTMP 6415 QUO 0605 QUOTE 2360 RAD10 0277 RAD8 0272 RADIN 0275 RADSW1 0246 RADSW2 0234 RAL 7004 RAR 7010 RBRAK 1605 RCC 6016 RCDCNT 0000 RCHAR 0006 RD10VA 0243 RDF 6214 REFBUF 7600 REHASH 2101 RELBTS 2546 RELOC8 0524 REM 0606 REMBER 6315 REMIND 6334 REMLEN 6255 REMOVB 3724 REMPTR 6374 REMSET 6355 REMST 6375 REMTBL 6151 REPADR 6771 REPLAC 4200 RESET 7572 RESULT 0076 REVISI 0023 RFC 6014 RHSHCT 2111 RIB 6234 RIF 6224 RLCHNG 0547 RLLOOP 0536 RLOC8 0133 RLPTR 0407 RLSWT 0410 RMF 6244 RNOARG 1531 ROR6 0134 RPADR 6754 RPARN 1606 RPE 6010 RPLSLL 4422 RPLSLX 4431 RRB 6012 RRETUR 1526 RSF 6011 RTF 6005 RTL 7006 RTR 7012 RXR 0012 SAGAIN 6431 SAM 7457 SAVRCH 1263 SBLOCK 7635 SBLPRT 1574 SBOOT 7600 SBTFUN 7602 SCA 7441 SCATPT 6423 SCDFS1 0452 SCDFS2 0477 SCDFT1 0454 SCDFT2 0504 SCL 7403 SCLCNT 1340 SCOMPR 6446 SCORE 7633 SCRESE 0177 SCRSIZ 7611 SDATE 7610 SEGMEN 7067 SEMICK 2123 SERCHC 5654 SERCHZ 5642 SETB 1750 SETBUN 1135 SETCHR 0176 SETFLD 0052 SETPRV 0421 SETSYM 0050 SETUNT 0425 SFILES 7757 SFLAG 6000 SFUN 7634 SGT 6006 SHFTIT 0210 SHL 7413 SHOT7 4065 SINT 6254 SKIPAS 7042 SKON 6000 SKP 7410 SKPASM 2574 SL0ZAP 0626 SL9ZAP 6556 SLA1 0554 SLAZP1 0614 SLAZP2 1371 SLDAGN 3652 SLDCNT 3732 SLEZAP 6331 SLKZP0 4064 SLLLST 5040 SLLRL2 4723 SLLRL3 4646 SLLRPL 4335 SLLZAP 4420 unreferenced SLLZP2 4262 SLLZP9 4415 SLMSET 0276 SLNSTA 1000 SLNZP2 4413 SLNZP3 1626 SLNZP8 3264 SLNZP9 4602 SLOAD 7632 SLORL1 5034 SLORL2 5036 SLOZAP 5031 SLP0 0555 SLP1 0556 SLP2 0557 SLP3 0560 SLP4 0561 SLQLST 5011 SLQRL0 5012 SLQRL1 5014 SLQRL2 5022 SLQRLA 5024 SLQRLC 5246 SLQRLF 6413 SLQRLG 5030 SLQRLM 4455 SLQRLN 4456 SLQRLP 5026 SLQZP1 4360 SLSZP1 0562 SLXRPL 4336 SLYZAP 0506 SM1 2770 SM2 2771 SM3 2772 SM4 2773 SMA 7500 SNA 7450 SNL 7420 SNMCT 6425 SNMPT 6424 SNO 1567 SNXTCH 0217 SOURCE 4600 SOUTFL 7607 SPA 7510 SPACE 0464 SPARM 7756 SPASS2 4267 SPBAR 0502 SPBRIN 0422 SPNM1 1156 SPSYM 0435 SQUCDF 0615 SQUISH 0571 SQULUP 0607 SRCHL 2017 SRQ 6003 SRTCAL 0651 SRTCDF 0460 SRTCOM 0462 SRTH1 1011 SRTH2 1111 SRTH3 1016 SRTH4 1020 SRTH7 1047 SRTH8 1056 SRTH8A 1077 SRTH8B 1104 SRTHGH 1121 SRTIX1 1107 SRTIX2 1042 SRTLOW 1015 SRTMOV 0440 SRTSRC 0520 SRTTGT 1140 SSYSIO 6451 ST 3323 STA 7240 unreferenced STAR 0600 STATPR 1366 STBLB 0745 STEAL 0501 STL 7120 STOBLK 0043 STOCOD 1000 STOEND 2400 unreferenced STOFUN 3544 STOSIZ 0006 STRESE 0644 STSIZE 2112 STSW 3573 STTLEN 4606 SUDOBL 0051 SUF 6274 SVAL 0135 SWAB 7431 SWAL 7604 SWAPIT 0514 SWBA 7447 SWMX 7605 SWP 7521 SWPTR 0345 SWY9 7606 SXR 0013 SY 1330 SYMBLB 0714 SYMBLK 3632 SYMBUF 3630 SYMFLD 2243 SYMFUN 3631 SYMNUM 0007 SYMPAG 1337 SYMS4K 2244 SYMSIZ 0011 SYMSOR 0777 SYMTAB 2400 SYSCAT 0063 SYSIO 7640 SYSIOP 1731 SYSLOO 6416 SYSTAR 7637 SZA 7440 SZL 7430 TAB 0464 TAD 1000 TADC 1200 TCF 6042 TENS 3110 TEOS 4422 TEST0 5141 TEST89 1074 TESTEL 1021 TESTEM 1702 unreferenced TESTEN 1006 TESTES 0404 unreferenced TESTEX 1120 unreferenced TESTGE 1712 TESTKA 1114 TESTL 4423 TESTLI 1656 TESTP 0427 TESTPE 6000 TESTQU 1051 TESTSW 0600 TESTU 0431 unreferenced TESTXT 6025 TESTY 5134 TFL 6040 THRAGN 0663 THROCO 3530 THROW1 0657 THRWAY 1320 THRWSM 0654 TITAGN 4632 TITCOD 5400 TITEND 5600 unreferenced TITLEN 4603 TITMAX 4750 TITND 5000 TITOUT 4624 TITPTR 0077 TITRET 4104 unreferenced TITST2 0314 TITSTO 0312 TITTRY 4641 TITZAP 4102 TLS 6046 TLSIOT 6046 TMIN 4707 TMOP 0413 TMP 0025 TMVCNT 3735 TNXT 1106 TNXTCH 1111 TOPTR 6761 TOSSIT 1024 TPC 6044 TPE1 6062 TPE2 6063 TPT2 3734 TRATBL 1677 TRIMOK 6522 TRMZAP 6520 TRYMOR 0262 TRYPRM 1260 TRYRST 1252 TRYSOM 0273 TSF 6041 TSFIOT 6041 TSK 6045 TSPACE 4424 TSTAON 1157 TSTNOT 4600 TSTNXT 4650 TSTOUT 0400 TTY 0003 TXR 0014 TXTCNT 0171 TXTXIT 1151 TXTZP1 1014 TXTZP2 1122 UF 1417 UMSG 0544 UNBUFF 4105 UNDFLG 0172 UO 1430 UOCHEK 0672 UPARRX 0405 US 3434 USE4K 2205 USLP 4464 USLP0 4460 USMFIX 1363 USXIT 4245 VACEXP 0355 VACRET 0070 VALRET 0057 VERSIO 0010 VEXIT 0344 VFLAG 4000 WRDCNT 2541 WRITE 4000 XADD 0472 XAND 0462 XARITH 0426 XBCKIN 0540 XBGLIN 2762 XBSHFT 0504 XCHKLS 0570 XCNSOL 1411 XDATE 1412 XDIV 0443 XDIVIN 0445 XDQUO 1430 XDTOR2 7256 XDTORG 2376 XDVICE 1102 XEJECT 3401 XENDBI 2550 XERR 2656 XERROR 0363 XEXPR 0317 XFACT 0411 XFLD 0613 XFLDIN 0616 XFLNAM 1100 XFUDGE 0324 XFXT2 4230 XFXTAB 1376 XGBLUR 4647 XGCH 4040 XGETCO 0557 XIOR 0536 XLISTI 2144 XLMODE 1555 XMUL 0512 XMULXT 0517 XMVCNT 3746 XNOPRT 3366 XNOPUN 1553 XNWSTM 0173 XOPVAL 1200 XORSYM 0260 XP45CH 3115 XP6CH 3256 XPAGE 1417 XPAUSE 0542 XPBLUR 4600 XPCRLF 3246 XPDLAD 3600 XPDLEN 3674 XPMODE 1556 XPOP 3561 XPRFLD 3147 XPRTAG 3160 XPRTBF 4000 XPRTSM 2331 XPSDRE 1370 XPT2 3745 XPTNRE 2344 XPUNCH 1552 XPUNG2 4211 XPUNGE 1374 XPUSH 3547 XPUT45 0667 XPUTFL 3000 XPUTLP 0676 XPUTMP 0712 XPUTOR 3016 XPUTOU 0706 XPUTWD 3036 XRELOC 1517 XRLC 5231 XROR6 2651 XSETSM 2200 XSGMNT 2240 XSKIP 1623 XSTFLD 2226 XSUB 0500 XSXBIT 1000 XSYMW2 0400 XSYMWK 0200 XTEOS 2114 XTESTL 1655 XTEXT 1001 XTITLE 3402 XTRATA 1000 XTSPAC 0371 YEAR 0607 ZAPXM 0257 ZASSIF 2372 ZBLK 2154 ZE 1707 ZEROXM 0311 ZERSWT 1147 ZERTST 1146 ZPL 5637 ZPLBEG 6600 ZPLBUF 5645 ZPLEND 5641 ZPLPTR 6376 ZPLRST 6377 ZPORG 6030 ZTEM 1464