1 / BLOCK-ORIENTED ODT FOR P?S/8 5 XLIST ON 6 7 / LAST EDIT: 16-APR-1986 09:00:00 CJL 8 9 / MUST BE ASSEMBLED WITH '/J' SWITCH SET. 10 11 / DEFINITIONS. 12 13 BLKSIZE=0200 /128 WORDS/BLOCK 14 IACS= 6163 /LOAD LINC "S" REGISTER 15 INCON= 0031 /EQUATED FROM CONSOLE! 16 JMSC= JMS . /CURRENT PAGE JMS INSTRUCTION 17 LDA= 1000 /LOAD ACCUMULATOR 18 LINC= 6141 /GOTO LINC MODE 19 NL0001= CLA IAC /LOAD AC WITH 0001 20 NL0002= CLA CLL CML RTL /LOAD AC WITH 0002 21 NL4000= CLA CLL CML RAR /LOAD AC WITH 4000 22 NL7775= CLA CLL CMA RTL /LOAD AC WITH 7775 23 NL7776= CLA CLL CMA RAL /LOAD AC WITH 7776 24 NL7777= CLA CMA /LOAD AC WITH 7777 25 OUTCON= 0033 /EQUATED FROM CONSOLE! 26 PDP= 0002 /GOTO PDP-8 MODE 27 SBOOT= 7600 /SYSTEM BOOTSTRAP ADDRESS 28 SBTFUN= 7602 /SYSTEM BOOTSTRAP FUNCTION 29 SCR= 0340 /SCALE RIGHT 30 SCRSIZE=7611 /SYSTEM CORE SIZE WORD 31 SYSIO= 7640 /SYSTEM I/O ENTRY 32 TTY= 0003 /CONSOLE TTY: DEVICE CODE 35 XLIST ON 36 WMOVE= JMS I [WRDMOV]/WORD MOVE ROUTINE 37 WRITE= 4000 /SYSIO WRITE BIT 38 39 / DEPENDENT DEFINITIONS. 40 41 JMSSYSI=SYSIO&177+JMSC /CALL TO SYSIO FROM ITS PAGE 42 KEYCODE=TTY^10+6000 /SKELETON KEYBOARD CODE 43 PRTCODE=TTY+1^10+6000 /SKELETON TELEPRINTER CODE 44 45 KCCIOT= KEYCODE+2 /CLEAR KEYBOARD FLAG, AC, SET READER RUN 46 KRBIOT= KEYCODE+6 /CLEAR KEYBOARD FLAG, LOAD CHARACTER INTO AC, 47 /SET READER RUN 48 KRSIOT= KEYCODE+4 /OR CHARACTER INTO AC, DON'T CLEAR KEYBOARD FLAG 49 KSFIOT= KEYCODE+1 /SKIP ON KEYBOARD FLAG 50 TLSIOT= PRTCODE+6 /LOAD OUTPUT BUFFER, CLEAR FLAG 51 TSFIOT= PRTCODE+1 /SKIP ON OUTPUT FLAG 52 PAGE 0 /START AT THE BEGINNING 53 54 000000 0000 ADDRESS,.-. /ADDRESS TEMPORARY 55 000001 0000 CASE, .-. /CURRENT CASE MODE 56 000002 0000 CNT, .-. /TEMPORARY 57 000003 0000 IOERCT, .-. /I/O ERROR RETRY COUNTER 58 000004 0000 P7TEMP, .-. /TEMPORARY 59 000005 7777 RESW, -1 /BUFFER RESIDENT SWITCH 60 000006 0000 SHUT, .-. /OPEN/CLOSED LOCATION INDICATOR 61 000007 0000 STORFLG,0 /DIRTY BUFFER SWITCH 62 63 *10 /DEFINE AUTO-INDEX AREA 64 65 000010 0000 XR1, .-. /AUTO-INDEX NUMBER 1 66 000011 0000 XR2, .-. /AUTO-INDEX NUMBER 2 67 000012 0000 XR3, .-. /AUTO-INDEX NUMBER 3 68 000013 0000 CONTEMP,.-. /TEMPORARY FOR CONTROL PRINT 69 000014 0000 ECHOSW, 0 /ECHO SWITCH 70 000015 0000 INCHAR, .-. /INPUT BUFFER 71 000016 0000 INTSW, 0 /INTERNAL MEMORY SWITCH 72 000017 0000 OCHAR, 0 /OCTAL PRINTOUT SPECIAL 73 74 *20 /GET PAST AUTO-INDEX AREA 75 76 000020 0000 CHKUNT, .-. /SEARCH UNIT 77 000021 0000 CHKBLK, 0 /SEARCH BLOCK 78 000022 0000 CHKADR, 0 /SEARCH ADDRESS 79 000023 0000 CURUNT, .-. /CURRENT UNIT 80 000024 0000 CURBLK, 0 /CURRENT BLOCK 81 000025 0000 CURADR, 0 /CURRENT ADDRESS 82 000026 0000 DMPUNT, .-. /"\" UNIT 83 000027 0000 DMPBLK, .-. /"\" BLOCK 84 000030 0000 DMPADR, .-. /"\" ADDRESS 85 000031 0000 NUMB, .-. /NUMERICAL ARGUMENT 86 000032 0000 PRVUNT, .-. /PREVIOUS UNIT 87 000033 0000 PRVBLK, .-. /PREVIOUS BLOCK 88 000034 0000 PRVADR, .-. /PREVIOUS ADDRESS 89 000035 0000 SCRPTR, .-. /SCRIBE'S MESSAGE POINTER 90 000036 0000 TEMP, .-. /TEMPORARY 91 000037 0000 TEMP2, .-. /TEMPORARY 92 000040 0000 TOTAL, .-. /DIGIT COUNTER 93 000041 0000 WORD, .-. /SEARCH WORD 94 000042 0000 WTSW, .-. /WORD SEARCH TEST SWITCH 95 96 /------------------- THE FOLLOWING MUST BE IN ORDER. --------------------- 97 / ! 98 000043 7777 MASK, 7777 /WORD SEARCH MASK ! 99 000044 0000 HOME, 0000 /HOME POSITION OF SEARCH (LOWER LIMIT) ! 100 000045 0000 UPPER, 0000 /UPPER LIMIT OF SEARCH ! 101 000046 0001 OTCONTR,1 /MEMORY SEARCH, DUMP OUTPUT CONTROL WORD ! 102 000047 0020 VIEWCON,20 /MEMORY DUMP VIEW CONTROL WORD ! 103 000050 0000 UNIT, .-. /UNIT FOR SEARCH ! 104 / ! 105 /------------------------------------------------------------------------- 106 000051 0000 P7CH, .-. /SEVEN-BIT OUTPUT ROUTINE 107 000052 3004 DCA P7TEMP /SAVE PASSED VALUE 108 000053 4576 P7AGN, JMS I [CHKUP] /CHECK FOR <^C>, ETC. 109 000054 1014 TAD ECHOSW /GET ECHO SWITCH 110 000055 7710 SPA CLA /SKIP IF ECHO ON 111 000056 5062 JMP P7OFF /JUMP IF NOT 112 000057 1004 TAD P7TEMP /GET THE CHARACTER 113 000060 4064 JMS P7OUT /TRY TO OUTPUT IT 114 000061 5053 JMP P7AGN /CHECK INPUT WHILE WAITING 115 000062 4576 P7OFF, JMS I [CHKUP] /CHECK FOR <^C>, ETC. 116 000063 5451 JMP I P7CH /RETURN 117 118 000064 0000 P7OUT, .-. /SEVEN BIT I/O ROUTINE 119 000065 6041 P7TSF, TSFIOT /**** CONSOLE **** CIF MCS+10 120 000066 5464 P7JMP, JMP I P7OUT /**** CONSOLE **** JMS OUTCON 121 000067 6046 P7TLS, TLSIOT /**** CONSOLE **** JMP I P7OUT 122 000070 7600 L7600, CLA!400 /CLEAN UP 123 000071 2064 ISZ P7OUT /BUMP RETURN ADDRESS 124 000072 5464 JMP I P7OUT /RETURN 125 126 000073 0000 P6CH, .-. /SIX-BIT PRINT ROUTINE 127 000074 1175 TAD [" &77] /INVERT IT 128 000075 0174 AND [77] /JUST SIX-BIT 129 000076 1175 TAD [" &77] /NOW HAVE ASCII 130 000077 4051 JMS P7CH /GO PRINT IT 131 000100 5473 JMP I P6CH /RETURN 132 133 000101 0000 CONTPRT,.-. /CONTROL CHARACTER PRINT ROUTINE 134 000102 3013 DCA CONTEMP /SAVE PASSED VALUE 135 000103 1173 TAD ["^&177] /GET AN "^" 136 000104 4064 JMS P7OUT /PRINT IT 137 000105 5104 JMP .-1 /WAIT FOR IT 138 000106 1013 TAD CONTEMP /GET PASSED CHARACTER 139 000107 4064 JMS P7OUT /PRINT IT 140 000110 5107 JMP .-1 /WAIT FOR IT 141 000111 5501 JMP I CONTPRT /RETURN 142 143 000112 0000 CTLCTST,.-. /CHECK FOR <^C>, ETC. 144 000113 7200 CLA /CLEAN UP 145 000114 6031 CHKKSF, KSFIOT /**** CONSOLE **** CIF MCS+10 146 000115 5512 CHKJMP, JMP I CTLCTST /**** CONSOLE **** JMS INCON 147 000116 6034 CHKKRS, KRSIOT/OR KRBIOT /**** CONSOLE **** JMP I CTLCTST 148 000117 0172 AND [177] /JUST SEVEN BITS 149 000120 3015 DCA INCHAR /SAVE IT 150 000121 7346 NL7775 /-3 151 000122 1015 TAD INCHAR /COMPARE TO LATEST 152 000123 7450 SNA /SKIP IF NOT <^C> 153 000124 2571 ISZ I [SCRSIZE] /ELSE SET SOFT INDICATOR 154 000125 7750 SPA SNA CLA /SKIP IF <^D> OR HIGHER 155 000126 5570 JMP I [SAVE] /ELSE GO SAVE LAST BUFFER AND LEAVE 156 000127 6032 CHKKCC, KCCIOT/OR 0000 /**** CONSOLE **** 0000 157 000130 1015 TAD INCHAR /GET THE CHARACTER 158 000131 5512 JMP I CTLCTST /RETURN 159 PAGE 160 161 000200 4567 BEGIN, JMS I [CRLF] /START ON A NEW LINE 162 000201 7240 NL7777 /CLOSE THE 163 000202 3006 DCA SHUT /LOCATION 164 000203 3031 BAGAIN, DCA NUMB /CLEAR OUT THE ARGUMENT 165 000204 1377 TAD (-4-1) /RESET THE 166 000205 3040 DCA TOTAL /DIGIT COUNT 167 000206 4576 BEGNIN, JMS I [CHKUP] /CHECK FOR <^P>, ETC. 168 000207 1015 TAD INCHAR /GET LATEST CHARACTER 169 000210 7450 SNA /ANYTHING THERE? 170 000211 5206 JMP BEGNIN /NO, GO WAIT AGAIN 171 000212 3051 TRYAGAN,DCA P7CH /YES, SAVE IT 172 000213 1376 TAD (TABL1-1) /SETUP THE 173 000214 3010 DCA XR1 /SEARCH POINTER 174 000215 1410 CMDLUP, TAD I XR1 /GET A CHARACTER 175 000216 7510 SPA /END OF LIST? 176 000217 5261 JMP NUMRAL /YES, TRY TO MATCH A DIGIT 177 000220 7161 STL CIA /NO, INVERT FOR TEST 178 000221 1051 TAD P7CH /IS IT THIS ONE? 179 000222 7640 SZA CLA /SKIP IF SO 180 000223 5215 JMP CMDLUP /JUMP IF NOT 181 000224 1010 TAD XR1 /GET CURRENT POINTER 182 000225 1375 TAD (TABL2-TABL1) /ADJUST TO OTHER TABLE 183 000226 3323 DCA COMMON /STASH THE ADDRESS 184 000227 1010 TAD XR1 /GET THE POINTER AGAIN 185 000230 1374 TAD (-INTLIMIT) /COMPARE TO LIMIT 186 000231 7700 SMA CLA /SKIP IF LESS THAN INTERNAL LIMIT 187 000232 3016 DCA INTSW /ELSE CLEAR INTERNAL SWITCH 188 000233 1723 TAD I COMMON /GET THE ROUTINE ADDRESS 189 000234 3323 DCA COMMON /STASH IT 190 000235 1051 TAD P7CH /GET THE CHARACTER 191 000236 4051 JMS P7CH /PRINT IT 192 000237 5723 JMP I COMMON /GO DO THE COMMAND 193 194 000240 4566 EXAMIN, JMS I [CHKDIG] /ANY ARGUMENT? 195 000241 5255 JMP EXCURR /NO, USE CURRENT ADDRESS 196 000242 1031 TAD NUMB /GET THE ARGUMENT 197 000243 0165 AND [-BLKSIZE] /TEST FOR BAD BITS 198 000244 7640 SZA CLA /SKIP IF LEGAL ARGUMENT 199 000245 5773 JMP I (NO9) /BARF OTHERWISE 200 000246 1031 TAD NUMB /GET THE ARGUMENT 201 000247 3025 DCA CURADR /SAVE AS LATEST CURRENT ADDRESS 202 000250 3016 DCA INTSW /CLEAR INTERNAL MODE 203 000251 7346 NL7775 /INDICATE THREE WORD MOVE 204 000252 4577 WMOVE; CURUNT; PRVUNT /SAVE LATEST VALUE FOR POSSIBLE RESTORATION 000253 0023 000254 0032 205 000255 4564 EXCURR, JMS I [LOAD] /GET THE LATEST 206 000256 0023 CURUNT /LOCATION'S CONTENTS 207 000257 4563 JMS I [PRTOCT] /GO PRINT IT 208 000260 5202 JMP BAGAIN-1 /GO BACK FOR MORE 209 000261 1051 NUMRAL, TAD P7CH /AC NOW CONTAINS CHARACTER-70 210 000262 7100 CLL /CLEAR LINK FOR TEST 211 000263 1162 TAD ["8-"0] /ADD ON RANGE 212 000264 7420 SNL /SKIP IF OCTAL 213 000265 5355 JMP TRYLOWR /JUMP IF NOT 214 000266 3323 DCA COMMON /SAVE AS LATEST STRIPPED DIGIT 215 000267 1051 TAD P7CH /GET THE DIGIT 216 000270 4051 JMS P7CH /PRINT IT 217 000271 1031 TAD NUMB /GET RUNNING VALUE 218 000272 7104 CLL RAL;RTL /MOVE OVER THREE BITS 000273 7006 219 000274 1323 TAD COMMON /ADD ON LATEST 220 000275 3031 DCA NUMB /SAVE IT BACK 221 000276 2040 ISZ TOTAL /TOO MANY DIGITS? 222 000277 5206 JMP BEGNIN /NO, KEEP GOING 223 000300 3323 NOCOM, DCA COMMON /SAVE PASSED VALUE 224 000301 1174 TAD ["?&77] /GET A "?" 225 000302 4073 JMS P6CH /PRINT IT 226 000303 1323 TAD COMMON /GET PASSED VALUE 227 000304 1161 TAD ["0&77] /MAKE IT ASCII 228 000305 4073 JMS P6CH /PRINT IT 229 000306 5200 JMP BEGIN /RESTART 230 231 000307 4323 RETURN, JMS COMMON /DO COMMON STUFF 232 000310 5200 JMP BEGIN /RESTART 233 234 000311 4323 SEMICOL,JMS COMMON /DO COMMON STUFF 235 000312 4560 JMS I [BMPADR] /BUMP 236 000313 0024 CURBLK /TO NEXT 237 000314 5203 JMP BAGAIN /KEEP GOING 238 239 000315 7346 PREV, NL7775 /INDICATE THREE WORD MOVE 240 000316 4577 WMOVE; PRVUNT; CURUNT /RESTORE PREVIOUS VALUES 000317 0032 000320 0023 241 000321 4567 JMS I [CRLF] /DO A , 242 000322 5342 JMP UPARW3 /CONTINUE THERE 243 244 000323 0000 COMMON, .-. /COMMON STORE ROUTINE 245 000324 1006 TAD SHUT /IS LOCATION OPEN? 246 000325 7650 SNA CLA /SKIP IF NOT 247 000326 4566 JMS I [CHKDIG] /ANY DIGITS? 248 000327 5723 JMP I COMMON /NO, JUST RETURN 249 000330 1031 TAD NUMB /GET THE ARGUMENT 250 000331 4772 JMS I (STORE) /STORE IT 251 000332 0023 CURUNT /THROUGH HERE 252 000333 5723 JMP I COMMON /RETURN 253 000334 1157 LNFEED, TAD [15] /GET A 254 000335 4051 JMS P7CH /PRINT IT 255 000336 4323 JMS COMMON /DO COMMON STORE 256 000337 4560 JMS I [BMPADR] /BUMP 257 000340 0024 CURBLK /TO NEXT 258 000341 4051 JMS P7CH /PRINT A AFTER 259 000342 4556 UPARW3, JMS I [PRTOUT] /PRINT THE COMPLETE 260 000343 0023 CURUNT /ADDRESS VALUE 261 000344 1155 TAD ["/&77] /GET A "/" 262 000345 4073 JMS P6CH /GO PRINT IT 263 000346 5255 JMP EXCURR /CONTINUE THERE 264 265 000347 4566 POINT, JMS I [CHKDIG] /ANY ARGUMENT? 266 000350 5771 JMP I (NO3) /NONE, BARF 267 000351 1031 TAD NUMB /GET THE NEW BLOCK 268 000352 3024 COLIN, DCA CURBLK /SAVE AS NEW CURRENT BLOCK 269 000353 3025 DCA CURADR /CLEAR RELATIVE ADDRESS AS WELL 270 000354 5201 JMP BEGIN+1 /KEEP GOING 271 272 000355 1370 TRYLOWR,TAD (-117) /AC NOW CONTAINS CHARACTER-177 273 000356 7100 CLL /CLEAR LINK FOR TEST 274 000357 1367 TAD (36) /ADD ON RANGE 275 000360 7420 SNL /SKIP IF VALID LOWER-CASE 276 000361 5766 JMP I (NOQ) /BARF OTHERWISE 277 000362 1365 TAD ("A&177) /MAKE IT UPPER-CASE 278 000363 5212 JMP TRYAGAN /TRY IT AGAIN 279 280 000365 0101 PAGE 000366 1752 000367 0036 000370 7661 000371 1762 000372 0750 000373 1754 000374 6171 000375 0027 000376 1577 000377 7773 281 000400 4566 COLON, JMS I [CHKDIG] /ANY ARGUMENT? 282 000401 5777 JMP I (NO8) /NONE, BARF 283 000402 1031 TAD NUMB /GET THE ARGUMENT 284 000403 0154 AND [7770] /JUST BAD BITS 285 000404 7640 SZA CLA /SKIP IF OK 286 000405 5776 JMP I (NO7) /BARF OTHERWISE 287 000406 1031 TAD NUMB /GET THE NEW UNIT 288 000407 3023 DCA CURUNT /SAVE AS LATEST UNIT 289 000410 5775 JMP I (COLIN) /FINISH THERE 290 291 000411 0000 CRLF, .-. /, ROUTINE 292 000412 7200 CLA /CLEAN UP FOR DIRTY CALLERS 293 000413 1157 TAD [15] /GET A 294 000414 4051 JMS P7CH /GO PRINT IT 295 000415 1374 TAD (12) /GET A 296 000416 4051 JMS P7CH /GO PRINT IT 297 000417 5611 JMP I CRLF /RETURN 298 299 000420 0000 CHKUP, .-. /CHECK FOR <^P>, <^C>, ETC. 300 000421 4112 JMS CTLCTST /TEST FOR <^C>, ETC. 301 000422 7440 SZA /SKIP IF NOTHING THERE 302 000423 1373 TAD (-"Q!300) /ELSE COMPARE TO <^Q> 303 000424 7450 SNA /SKIP IF SOMETHING ELSE 304 000425 5243 JMP CHKCLR /IGNORE <^Q> 305 000426 7001 IAC /TAD (-"P+"Q)/IS IT <^P>? 306 000427 7450 SNA /SKIP IF NOT 307 000430 5253 JMP PHIT /JUMP IF SO 308 000431 7001 IAC /TAD (-"O+"P)/IS IT <^O>? 309 000432 7450 SNA /SKIP IF NOT 310 000433 5245 JMP DOUO /JUMP IF SO 311 000434 1153 TAD [-"S+"O] /IS IT <^S>? 312 000435 7640 SZA CLA /SKIP IF SO 313 000436 5620 JMP I CHKUP /RETURN IF NOT 314 000437 4112 JMS CTLCTST /WAIT FOR <^Q> 315 000440 1373 TAD (-"Q!300) /IS IT <^Q>? 316 000441 7640 PSYSIO, SZA CLA /SKIP IF SO 317 000442 5237 JMP .-3 /GO BACK IF NOT 318 000443 3015 CHKCLR, DCA INCHAR /CLEAR INPUT BUFFER 319 000444 5620 JMP I CHKUP /RETURN 320 321 000445 1372 DOUO, TAD ("O&177) /GET AN "O" 322 000446 4101 JMS CONTPRT /PRINT "^O" 323 000447 7330 NL4000 /GET INVERSION BIT 324 000450 1014 TAD ECHOSW /INVERT ECHO STATUS 325 000451 3014 DCA ECHOSW /STORE IT BACK 326 000452 5243 JMP CHKCLR /CONTINUE THERE 327 328 000453 3014 PHIT, DCA ECHOSW /FORCE ECHO ON 329 000454 3017 DCA OCHAR /CLEAR PRTOCT LOCATION 330 000455 1371 TAD ("P&177) /GET "P" 331 000456 4101 JMS CONTPRT /PRINT "^P" 332 000457 5552 JMP I [BEGIN] /RESTART 333 334 000460 4262 SAVE, JMS DUMP /DUMP THE LAST BUFFER 335 000461 5470 JMP I L7600/[SBOOT] /BYE, BYE! 336 000462 0000 DUMP, .-. /BUFFER DUMP ROUTINE 337 000463 1007 TAD STORFLG /GET DIRTY INDICATOR 338 000464 7650 SNA CLA /SKIP IF DUMPING NEEDED 339 000465 5662 JMP I DUMP /RETURN NOW IF NOT 340 000466 7346 NL7775 /SETUP THE 341 000467 3003 DCA IOERCT /RETRY COUNTER 342 000470 4327 VM2AGN, JMS SYSDEV /CALL I/O ROUTINES 343 000471 0764 VMPRM2 /WITH THIS PARAMETER 344 000472 5275 JMP VM2ERROR /BARF! 345 000473 3007 DCA STORFLG /NOT DIRTY ANYMORE 346 000474 5662 JMP I DUMP /RETURN 347 348 000475 2003 VM2ERR, ISZ IOERCT /TOO MANY ERRRORS? 349 000476 5270 JMP VM2AGN /NO, TRY AGAIN 350 000477 4551 JMS I [SCRIBE] /YES, TELL THEM 351 000500 1562 IOERMSG /OF PROBLEM 352 000501 6032 VMCLR, KCCIOT /**** CONSOLE **** 0000 353 000502 5552 JMP I [BEGIN] /START OVER 354 355 000503 0000 SCRIBE, .-. /MESSAGE PRINTING ROUTINE 356 000504 4567 JMS I [CRLF] /DO A , FIRST 357 000505 1703 TAD I SCRIBE /GET MESSAGE POINTER 358 000506 3035 DCA SCRPTR /STASH IT 359 000507 2303 ISZ SCRIBE /BUMP PAST 360 000510 1435 SCRLUP, TAD I SCRPTR /GET A PAIR 361 000511 7012 RTR;RTR;RTR /MOVE OVER 000512 7012 000513 7012 362 000514 4321 JMS SCTRIM /TRIM AND PRINT IT 363 000515 1435 TAD I SCRPTR /GET IT AGAIN 364 000516 4321 JMS SCTRIM /TRIM AND PRINT IT 365 000517 2035 ISZ SCRPTR /BUMP TO NEXT PAIR 366 000520 5310 JMP SCRLUP /GO DO IT AGAIN 367 368 000521 0000 SCTRIM, .-. /TRIM AND PRINT ROUTINE 369 000522 0174 AND [77] /JUST SIX-BIT 370 000523 7450 SNA /END OF MESSAGE? 371 000524 5703 JMP I SCRIBE /YES, RETURN TO SCRIBE'S CALLER 372 000525 4073 JMS P6CH /NO, GO PRINT IT 373 000526 5721 JMP I SCTRIM /RETURN TO ONLY BE CALLED AGAIN! 374 000527 0000 SYSDEV, .-. /SYSTEM DEVICE HANDLER 375 000530 7200 CLA /CLEAN UP 376 000531 1727 TAD I SYSDEV /GET PARAMETER 377 000532 3347 DCA SYSBLK /STASH IT 378 000533 2327 ISZ SYSDEV /BUMP PAST PARAMETER 379 000534 1747 TAD I SYSBLK /GET CORE ADDRESS 380 000535 3345 DCA SYSCORE /STASH IT 381 000536 2347 ISZ SYSBLK /BUMP TO NEXT 382 000537 1747 TAD I SYSBLK /GET FUNCTION WORD 383 000540 3346 DCA SYSFUN /STASH IT 384 000541 2347 ISZ SYSBLK /BUMP TO NEXT 385 000542 1747 TAD I SYSBLK /GET BLOCK NUMBER 386 000543 3347 DCA SYSBLK /STASH IT 387 000544 4641 JMS I PSYSIO /CALL I/O ROUTINES 388 000545 0000 SYSCORE,.-. /CORE ARGUMENT 389 000546 0000 SYSFUN, .-. /FUNCTION WORD 390 000547 0000 SYSBLK, .-. /BLOCK NUMBER 391 000550 2327 ISZ SYSDEV /BUMP PAST ERROR RETURN 392 000551 5727 JMP I SYSDEV /RETURN TO CALLER 393 394 000552 0322 RESMSG, "R;"E;"S;"E;"R;"V;"E;"D /"RESERVED" MESSAGE 000553 0305 000554 0323 000555 0305 000556 0322 000557 0326 000560 0305 000561 0304 395 000562 0000 SAVAREA,ZBLOCK 3 /ADDRESS SAVE AREA 000563 0000 000564 0000 396 397 000571 0120 PAGE 000572 0117 000573 7757 000574 0012 000575 0352 000576 1756 000577 1755 398 000600 0000 GETADR, .-. /GET ADDRESS ROUTINE 399 000601 3000 DCA ADDRESS /SAVE PASSED ARGUMENT 400 000602 1400 TAD I ADDRESS /GET THE UNIT 401 000603 1377 TAD (BLKSIZE%2) /MAKE INTO A READ 402 000604 3362 DCA VMFUN1 /SET IT UP 403 000605 2000 ISZ ADDRESS /BUMP TO NEXT 404 000606 1400 TAD I ADDRESS /GET THE BLOCK NUMBER 405 000607 3363 DCA VMBLK1 /STASH IT 406 000610 2000 ISZ ADDRESS /BUMP TO ADDRESS 407 000611 1400 TAD I ADDRESS /GET THE ADDRESS 408 000612 3000 DCA ADDRESS /STASH IT 409 000613 1016 TAD INTSW /GET INTERNAL MEMORY SWITCH 410 000614 7650 SNA CLA /SKIP IF SET 411 000615 5231 JMP BLKADDR /JUMP IF NORMAL ACCESS 412 000616 1000 TAD ADDRESS /GET THE ADDRESS 413 000617 1376 TAD (-UNIT-1) /ADD ON LIMIT 414 000620 7100 CLL /CLEAR LINK FOR TEST 415 000621 1375 TAD (UNIT+1-MASK) /ADD ON RANGE 416 000622 7620 SNL CLA /SKIP IF VALID 417 000623 5226 JMP SPBARF /ELSE COMPLAIN 418 000624 2200 ISZ GETADR /TAKE SKIP RETURN 419 000625 5600 JMP I GETADR /WITH ADDRESS OK 420 421 000626 7200 SPBARF, CLA /CLEAN UP 422 000627 3016 DCA INTSW /CANCEL INTERNAL MODE 423 000630 5774 JMP I (NO1) /COMPLAIN THERE 424 425 000631 2005 BLKADDR,ISZ RESW /DO WE HAVE A BUFFER? 426 000632 7410 SKP /SKIP IF SO 427 000633 5250 JMP READITIN /JUMP IF NOT 428 000634 1366 TAD VMBLK2 /GET CURRENT BLOCK 429 000635 7041 CIA /INVERT FOR TEST 430 000636 1363 TAD VMBLK1 /COMPARE TO LATEST 431 000637 7640 SZA CLA /SKIP IF THEY MATCH 432 000640 5247 JMP CHNGED /JUMP IF NOT 433 000641 1362 TAD VMFUN1 /GET THE READ FUNCTION 434 000642 7041 CIA /INVERT FOR TEST 435 000643 1365 TAD VMFUN2 /COMPARE TO WRITE FUNCTION 436 000644 0150 AND [7] /JUST UNIT BITS 437 000645 7650 SNA CLA /SKIP IF DIFFERENT 438 000646 5275 JMP SAMBUF /JUMP IF THEY MATCH 439 000647 4773 CHNGED, JMS I (DUMP) /DUMP THE OLD BUFFER 440 000650 1363 READITI,TAD VMBLK1 /GET BLOCK NUMBER 441 000651 6163 IACS /DISPLAY IN LINC "S" REGISTER 442 000652 7200 CLA /CLEAN UP 443 000653 6141 LINC /GOTO LMODE OR STOP DRIVES IF LINC-8 444 000654 1000 LDA /TRY TO LOAD AC 445 000655 0763 VMBLK1 /WITH BLOCK NUMBER 446 000656 0354 SCR 14 /MOVE INTO MQ 447 000657 0002 PDP /BACK TO PDP-8 MODE 448 000660 7200 CLA /CLEAN UP 449 000661 1363 TAD VMBLK1 /GET THE BLOCK AGAIN 450 000662 7421 MQL /DISPLAY IN MQ 451 000663 7346 NL7775 /SETUP THE ERROR 452 000664 3003 DCA IOERCT /RETRY COUNTER 453 000665 4772 VM1AGN, JMS I (SYSDEV) /CALL I/O ROUTINES 454 000666 0761 VMBUFP /WITH THIS PARAMETER 455 000667 5302 JMP VM1ERROR /BARF! 456 000670 1363 TAD VMBLK1 /GET LATEST BLOCK 457 000671 3366 DCA VMBLK2 /SAVE FOR DUMPING 458 000672 7330 NL4000 /GET A WRITE BIT 459 000673 1362 TAD VMFUN1 /ADD ON READ FUNCTION 460 000674 3365 DCA VMFUN2 /SAVE AS WRITE FUNCTION FOR DUMPING 461 000675 1000 SAMBUF, TAD ADDRESS /GET THE ADDRESS 462 000676 1361 TAD VMBUFP /ADD ON THE BUFFER BASE 463 000677 3000 DCA ADDRESS /SAVE AS EFFECTIVE ADDRESS 464 000700 3005 DCA RESW /INDICATE RESIDENT BUFFER 465 000701 5600 JMP I GETADR /RETURN 466 467 000702 2003 VM1ERR, ISZ IOERCT /TOO MANY ERRORS? 468 000703 5265 JMP VM1AGN /NO, TRY AGAIN 469 000704 4551 JMS I [SCRIBE] /TELL THEM OF 470 000705 1562 IOERMSG /I/O PROBLEM 471 000706 5552 JMP I [BEGIN] /RESTART 472 473 000707 0000 BMPADR, .-. /BUMP CURRENT ADDRESS ROUTINE 474 000710 1707 TAD I BMPADR /GET ARGUMENT ADDRESS 475 000711 3036 DCA TEMP /STASH IT 476 000712 2307 ISZ BMPADR /BUMP PAST IT 477 000713 7201 NL0001 /+1 478 000714 1036 TAD TEMP /ADD ON BLOCK ADDRESS 479 000715 3037 DCA TEMP2 /SAVE AS ADDRESS POINTER 480 000716 2437 ISZ I TEMP2 /BUMP TO NEXT 481 000717 1437 TAD I TEMP2 /GET NEW VALUE 482 000720 0152 AND [BLKSIZE] /JUST OVERFLOW BIT 483 000721 7440 SZA /SKIP IF NO OVERFLOW THIS TIME 484 000722 2436 ISZ I TEMP /BUMP TO NEXT BLOCK 485 000723 7000 NOP /JUST IN CASE 486 000724 3042 DCA WTSW /SAVE SWITCH FOR WORD SEARCH 487 000725 1437 TAD I TEMP2 /\ 488 000726 0172 AND [BLKSIZE-1] / >REDUCE MODULO BLOCK SIZE 489 000727 3437 DCA I TEMP2 // 490 000730 5707 JMP I BMPADR /RETURN 491 492 000731 0000 P10BLKS,.-. /PRINT TEN CHARACTERS ROUTINE 493 000732 1371 TAD (-12) /SETUP THE 494 000733 3341 DCA LOAD /PRINT COUNTER 495 000734 1175 TAD [" &77] /GET A 496 000735 4073 JMS P6CH /PRINT IT 497 000736 2341 ISZ LOAD /DONE YET? 498 000737 5334 JMP .-3 /NO, KEEP GOING 499 000740 5731 JMP I P10BLKS /YES, RETURN 500 000741 0000 LOAD, .-. /LOAD A WORD ROUTINE 501 000742 1741 TAD I LOAD /GET THE ARGUMENT 502 000743 4200 JMS GETADR /SETUP THE ADDRESS 503 000744 7000 NOP /DON'T CARE 504 000745 1400 TAD I ADDRESS /GET THE VALUE 505 000746 2341 ISZ LOAD /BUMP PAST ARGUMENT 506 000747 5741 JMP I LOAD /RETURN 507 508 000750 0000 STORE, .-. /STORE A WORD ROUTINE 509 000751 3341 DCA LOAD /SAVE THE VALUE 510 000752 1750 TAD I STORE /GET THE ARGUMENT 511 000753 4200 JMS GETADR /SETUP THE ADDRESS 512 000754 2007 ISZ STORFLG /BUFFER IS NOW DIRTY 513 000755 1341 TAD LOAD /GET THE VALUE AGAIN 514 000756 3400 DCA I ADDRESS /STORE IT 515 000757 2350 ISZ STORE /BUMP PAST ARGUMENT 516 000760 5750 JMP I STORE /RETURN 517 518 000761 2000 VMBUFP, BUFFER /CORE ARGUMENT 519 000762 0100 VMFUN1, BLKSIZE%2+.-. /UNIT WILL BE SET AS NECESSARY 520 000763 0000 VMBLK1, .-. /BLOCK WILL BE FILLED IN AS NECESSARY 521 522 000764 2000 VMPRM2, BUFFER /CORE ARGUMENT 523 000765 4100 VMFUN2, BLKSIZE%2+WRITE+.-. /UNIT WILL BE SET AS NECESSARY 524 000766 0000 VMBLK2, .-. /BLOCK WILL BE FILLED IN AS NECESSARY 525 526 000771 7766 PAGE 000772 0527 000773 0462 000774 1764 000775 0006 000776 7727 000777 0100 527 001000 0000 PRTOCT, .-. /OCTAL PRINT ROUTINE 528 001001 3037 DCA TEMP2 /SAVE THE VALUE 529 001002 1153 TAD [-4] /SETUP THE 530 001003 3036 DCA TEMP /DIGIT COUNT 531 001004 1037 PLOOP, TAD TEMP2 /GET THE NUMBER 532 001005 7006 RTL;RAL /SHIFT IT THREE BITS 001006 7004 533 001007 3037 DCA TEMP2 /SAVE IT BACK 534 001010 1037 TAD TEMP2 /GET IT AGAIN 535 001011 7004 RAL /ADJUST IT 536 001012 0150 AND [7] /JUST ONE DIGIT 537 001013 1161 TAD ["0&77] /MAKE IT ASCII 538 001014 4073 JMS P6CH /PRINT IT 539 001015 2036 ISZ TEMP /DONE FOUR YET? 540 001016 5204 JMP PLOOP /NO, GO BACK 541 001017 1017 TAD OCHAR /GET DELIMITER CHARACTER 542 001020 7450 SNA /SKIP IF SPECIAL VALUE 543 001021 1175 TAD [" &77] /USE A OTHERWISE 544 001022 4073 JMS P6CH /GO PRINT IT 545 001023 3017 DCA OCHAR /CLEAR SPECIAL CHARACTER 546 001024 5600 JMP I PRTOCT /YES, RETURN 547 548 001025 7001 NX, IAC /TAD (UNIT-VIEWCON) /SET UNIT OFFSET 549 001026 7001 VX, IAC /TAD (VIEWCON-OTCONT)/SET VIEWCONTROL OFFSET 550 001027 7001 OX, IAC /TAD (OTCONTRO-UPPER)/SET OTCONTROL OFFSET 551 001030 7001 UX, IAC /TAD (UPPER-HOME) /SET UPPER OFFSET 552 001031 7001 HX, IAC /TAD (HOME-MASK) /SET HOME OFFSET 553 001032 1377 MX, TAD (MASK) /SET MASK ADDRESS 554 001033 3025 DCA CURADR /STORE DESIRED ADDRESS 555 001034 4776 JMS I (P10BLKS) /PRINT CHARACTERS TO PAD 556 001035 7240 NL7777 /SETUP THE 557 001036 3016 DCA INTSW /INTERNAL MODE 558 001037 1155 TAD ["/&77] /GET A "/" 559 001040 4073 JMS P6CH /PRINT IT 560 001041 5775 JMP I (EXCURR) /CONTINUE THERE 561 001042 7240 ADDIT, NL7777 /INDICATE "+" 562 001043 3037 SBTRCT, DCA TEMP2 /SAVE "+" OR "-" INDICATOR 563 001044 4566 JMS I [CHKDIG] /ANY DIGITS? 564 001045 2031 ISZ NUMB /NO, ASSUME ONE 565 001046 1031 TAD NUMB /GET ARGUMENT 566 001047 0165 AND [-BLKSIZE] /JUST BLOCK BITS 569 XLIST ON 570 001050 7106 CLL RTL;RTL;RTL /TURN INTO RELATIVE BLOCK COUNT 001051 7006 001052 7006 576 XLIST ON 577 001053 2037 ISZ TEMP2 /SHOULD WE INVERT IT? 578 001054 7041 CIA /YES, DOING "-" 579 001055 1024 TAD CURBLK /MODIFY THE 580 001056 3024 DCA CURBLK /LATEST BLOCK 581 001057 1037 TAD TEMP2 /GET INDICATOR 582 001060 7110 CLL RAR /LOAD INTO LINK 583 001061 1031 TAD NUMB /GET ARGUMENT 584 001062 0172 AND [BLKSIZE-1] /JUST BLOCK BITS 585 001063 7430 SZL /SHOULD WE INVERT? 586 001064 7041 CIA /YES, DOING "-" 587 001065 3036 DCA TEMP /SAVE IT 588 001066 1036 TAD TEMP /GET IT BACK 589 001067 1025 TAD CURADR /ADD ON LATEST ADDRESS 590 001070 7510 SPA /SKIP IF "+" OR SMALL "-" 591 001071 5276 JMP DONEG /JUMP IF LARGE "-" 592 001072 0152 AND [BLKSIZE] /CHECK FOR OVERFLOW 593 001073 7640 SZA CLA /SKIP IF NONE 594 001074 7201 NL0001 /ELSE INCREMENT 595 001075 7410 SKP /DON'T DECREMENT! 596 001076 7240 DONEG, NL7777 /BACKUP 597 001077 1024 TAD CURBLK /ADD ON CURRENT BLOCK 598 001100 3024 DCA CURBLK /STORE IT BACK 599 001101 1036 TAD TEMP /GET LOW-ORDER AGAIN 600 001102 1025 TAD CURADR /ADD ON LATEST ADDRESS 601 001103 0172 AND [BLKSIZE-1] /REMOVE OVERFLOW 602 001104 3025 DCA CURADR /STASH IT 603 001105 4567 JMS I [CRLF] /DO A , 604 001106 5774 JMP I (UPARW3) /FINISH IT THERE 605 606 001107 0000 CHKDIG, .-. /CHECK FOR ANY DIGITS TYPED ROUTINE 607 001110 1040 TAD TOTAL /GET TOTAL DIGITS TYPED 608 001111 1373 TAD (4+1) /COMPARE TO LIMIT 609 001112 7640 SZA CLA /SKIP IF NO DIGITS 610 001113 2307 ISZ CHKDIG /BUMP RETURN IF ANY 611 001114 5707 JMP I CHKDIG /RETURN AS NECESSARY 612 001115 0000 PRTOUT, .-. /OUTPUT THE COMPLETE ADDRESS 613 001116 1715 TAD I PRTOUT /GET ARGUMENT ADDRESS 614 001117 3040 DCA TOTAL /STASH IT 615 001120 2315 ISZ PRTOUT /BUMP PAST THE ARGUMENT 616 001121 1016 TAD INTSW /GET INTERNAL MODE SWITCH 617 001122 7650 SNA CLA /SKIP IF SET 618 001123 5340 JMP PRONORMAL /JUMP IF NOT 619 001124 1025 TAD CURADR /GET THE ADDRESS 620 001125 1372 TAD (-UNIT-1) /ADD ON LIMIT 621 001126 7100 CLL /CLEAR LINK FOR TEST 622 001127 1371 TAD (UNIT+1-MASK) /ADD ON RANGE 623 001130 7420 SNL /SKIP IF OK 624 001131 5770 JMP I (SPBARF) /JUMP IF NOT 625 001132 1367 TAD (SPTABL) /ADJUST TO CHARACTER TABLE 626 001133 3037 DCA TEMP2 /STASH THE POINTER 627 001134 1437 TAD I TEMP2 /GET THE CHARACTER 628 001135 4051 JMS P7CH /PRINT IT 629 001136 4776 JMS I (P10BLKS) /PAD IT OUT 630 001137 5715 JMP I PRTOUT /RETURN 631 632 001140 1440 PRONORM,TAD I TOTAL /GET THE UNIT 633 001141 2040 ISZ TOTAL /BUMP TO NEXT 634 001142 1161 TAD ["0&77] /MAKE IT ASCII 635 001143 4073 JMS P6CH /PRINT IT 636 001144 1366 TAD (":&77) /GET A ":" 637 001145 4073 JMS P6CH /PRINT IT 638 001146 1365 TAD (".&77) /GET A "." 639 001147 3017 DCA OCHAR /SET IT UP 640 001150 1440 TAD I TOTAL /GET THE BLOCK 641 001151 2040 ISZ TOTAL /BUMP TO NEXT 642 001152 4563 JMS I [PRTOCT] /PRINT THE BLOCK NUMBER 643 001153 1440 TAD I TOTAL /GET THE ADDRESS 644 001154 7004 RAL;RTL /MOVE UP THREE BITS 001155 7006 645 001156 3037 DCA TEMP2 /SAVE IN PRTOCT'S TEMPORARY 646 001157 1315 TAD PRTOUT /GET OUR RETURN ADDRESS 647 001160 3200 DCA PRTOCT /SAVE IN PRTOCT'S HEADER 648 001161 7346 NL7775 /SETUP FOR THREE DIGITS 649 001162 5203 JMP PLOOP-1 /GO PRINT THE DIGITS 650 651 001165 0056 PAGE 001166 0072 001167 1620 001170 0626 001171 0006 001172 7727 001173 0005 001174 0342 001175 0255 001176 0731 001177 0043 652 001200 1047 BKSLSH, TAD VIEWCONTROL /GET VIEW CONTROL WORD 653 001201 7041 CIA /INVERT IT 654 001202 3002 DCA CNT /SAVE AS LINE COUNT 655 001203 1031 TAD NUMB /GET THE ARGUMENT 656 001204 0165 AND [-BLKSIZE] /CHECK FOR BAD VALUE 657 001205 7640 SZA CLA /SKIP IF OK 658 001206 5777 JMP I (NO4) /JUMP IF NOT 659 001207 1031 TAD NUMB /GET THE ADDRESS 660 001210 0154 AND [7770] /JUST LINE BITS 661 001211 3030 DCA DMPADR /SETUP OUR ARGUMENT 662 001212 4577 WMOVE; CURUNT; DMPUNT /SETUP LATEST UNIT, BLOCK 001213 0023 001214 0026 663 001215 3001 DCA CASE /SET NORMAL CASE 664 001216 4567 BKLUP1, JMS I [CRLF] /DO A , NOW 665 001217 4556 JMS I [PRTOUT] /PRINT THE 666 001220 0026 DMPUNT /LEADING ADDRESS 667 001221 4577 WMOVE; DMPBLK; SAVAREA /SAVE CURRENT BLOCK, ADDRESS 001222 0027 001223 0562 668 001224 1154 TAD [7770] /SETUP THE 669 001225 3040 DCA TOTAL /ON LINE COUNT 670 001226 4564 BKLUP2, JMS I [LOAD] /GET A WORD 671 001227 0026 DMPUNT /FROM LATEST ADDRESS 672 001230 4563 JMS I [PRTOCT] /PRINT IT 673 001231 4560 JMS I [BMPADR] /BUMP 674 001232 0027 DMPBLK /TO NEXT 675 001233 2040 ISZ TOTAL /DONE A LINE YET? 676 001234 5226 JMP BKLUP2 /NO, GO DO ANOTHER ONE 677 001235 1046 TAD OTCONTROL /GET CHARACTER MODE 678 001236 0150 AND [7] /JUST GOOD BITS 679 001237 7640 SZA CLA /SKIP IF NULL DISPLAY MODE 680 001240 5244 JMP OUTOK /JUMP IF IN RANGE 681 001241 2002 BUMPIT, ISZ CNT /DONE ALL YET? 682 001242 5216 JMP BKLUP1 /NO, GO DO ANOTHER LINE 683 001243 5552 JMP I [BEGIN] /YES, RESTART 684 001244 1376 OUTOK, TAD ("*&77) /GET A "*" 685 001245 4073 JMS P6CH /PRINT IT 686 001246 1154 TAD [7770] /SETUP THE 687 001247 3040 DCA TOTAL /WORD COUNT 688 001250 4577 WMOVE; SAVAREA;DMPBLK /RESTORE PREVIOUS BLOCK, ADDRESS 001251 0562 001252 0027 689 001253 4564 BKLUP3, JMS I [LOAD] /GET THE LATEST WORD 690 001254 0026 DMPUNT /FROM OUR ADDRESS 691 001255 3036 DCA TEMP /STASH IT 692 001256 1046 TAD OTCONTROL /GET MODE 693 001257 0150 AND [7] /JUST GOOD BITS 694 001260 1375 TAD (MODTBL-1) /ADD ON TABLE ADDRESS 695 001261 3037 DCA TEMP2 /STASH IT 696 001262 1437 TAD I TEMP2 /GET THE PARTICULAR ADDRESS 697 001263 3037 DCA TEMP2 /SET IT UP 698 001264 5437 JMP I TEMP2 /GO THERE 699 700 001265 1175 SXBIT, TAD [" &77] /GET INVERSION BIT 701 001266 3037 TRIMD, DCA TEMP2 /CLEAR THE BIT 702 001267 1036 TAD TEMP /GET THE CHARACTER PAIR 703 001270 7012 RTR;RTR;RTR /MOVE OVER 001271 7012 001272 7012 704 001273 1037 TAD TEMP2 /ADD ON INVERSION BIT 705 001274 4073 JMS P6CH /PRINT IT 706 001275 1036 TAD TEMP /GET THE CHARACTER PAIR AGAIN 707 001276 1037 TAD TEMP2 /ADD ON INVERSION BIT 708 001277 4073 JMS P6CH /PRINT IT 709 001300 4560 COMPRT, JMS I [BMPADR] /BUMP 710 001301 0027 DMPBLK /TO NEXT 711 001302 2040 COMPR2, ISZ TOTAL /DONE ALL YET? 712 001303 5253 JMP BKLUP3 /NO, GO FOR ANOTHER PAIR 713 001304 1376 TAD ("*&77) /YES, GET A "*" 714 001305 4073 JMS P6CH /PRINT IT 715 001306 5241 JMP BUMPIT /CONTINUE THERE 716 717 001307 4336 SVNBIT, JMS DO7 /DO A SINGLE SEVEN BIT OUTPUT 718 001310 5300 JMP COMPRT /KEEP GOING 719 001311 7201 T3FOR2, NL0001 /GET EVEN/ODD MASK 720 001312 0030 AND DMPADR /GET EVEN/ODD BIT 721 001313 7640 M140, SZA CLA /SKIP IF EVEN 722 001314 5324 JMP DOODD /JUMP IF ODD 723 001315 1036 TAD TEMP /GET THE WORD 724 001316 7012 RTR /MOVE DOWN 2 BITS 725 001317 0374 AND (700) /JUST HIGH 3 BITS 726 001320 7112 CLL RTR /MOVE DOWN 4 BITS 727 001321 3361 DCA T3TEMP /SAVE IT 728 001322 4336 JMS DO7 /DO FIRST CHARACTER 729 001323 5300 JMP COMPRT /DONE FOR NOW 730 731 001324 4336 DOODD, JMS DO7 /DO THE SECOND CHARACTER 732 001325 1036 TAD TEMP /GET THE LATEST AGAIN 733 001326 7006 RTL;RTL;RAL /MOVE DOWN EIGHT TO THE RIGHT 001327 7006 001330 7004 734 001331 0147 AND [17] /JUST 4 BITS 735 001332 1361 TAD T3TEMP /ADD ON FIRST WORD BITS 736 001333 3036 DCA TEMP /STASH IT 737 001334 4336 JMS DO7 /DO THIRD CHARACTER 738 001335 5300 JMP COMPRT /CONTINUE THERE 739 740 001336 0000 DO7, .-. /DO ONE SEVEN BIT CHARACTER 741 001337 1036 TAD TEMP /GET THE CHARACTER 742 001340 0373 AND (140) /JUST QUADRANT BITS 743 001341 7450 SNA /SKIP IF NOT <^> TYPE 744 001342 5353 JMP DOCNTRL /JUMP IF IT IS 745 001343 1313 TAD M140/(-140) /COMPARE TO LOWER CASE 746 001344 7650 SNA CLA /SKIP IF NORMAL 747 001345 5355 JMP DOLOWR /JUMP IF LOWER CASE 748 001346 1175 CNTRLIN,TAD [" &77] /GET NORMAL 749 001347 4073 JMS P6CH /PRINT IT 750 001350 1036 LOWRIN, TAD TEMP /GET THE CHARACTER ITSELF 751 001351 4073 JMS P6CH /PRINT IT AS TRIMMED ASCII 752 001352 5736 JMP I DO7 /RETURN 753 754 001353 7344 DOCNTRL,NL7776/TAD ("^-" -100)/"^"-" " 755 001354 5346 JMP CNTRLIN /CONTINUE THERE 756 757 001355 1146 DOLOWR, TAD ["'&77] /GET A "'" 758 001356 4073 JMS P6CH /PRINT IT 759 001357 1175 TAD [" &77] /GET INVERSION BIT 760 001360 5350 JMP LOWRIN /CONTINUE THERE 761 762 001361 0000 T3TEMP, .-. /TEMPORARY 763 764 001373 0140 PAGE 001374 0700 001375 1530 001376 0052 001377 1761 765 001400 1036 CASCODE,TAD TEMP /GET THE LATEST WORD 766 001401 3361 DCA CASTEMP /SAVE IT 767 001402 1361 TAD CASTEMP /GET IT BACK 768 001403 7012 RTR;RTR;RTR /MOVE OVER HIGH-ORDER 001404 7012 001405 7012 769 001406 4247 JMS DOCASE /PRINT LATEST HIGH-ORDER CHARACTER 770 /(PERHAPS (WITH OR WITHOUT CASE AND) 771 /INVERTED) OR JUST SET CASE FLAG 772 001407 1361 TAD CASTEMP /GET THE WORD AGAIN 773 001410 4247 JMS DOCASE /PRINT LATEST LOW-ORDER CHARACTER OR 774 /JUST SET CASE FLAG 775 001411 1001 TAD CASE /GET CURRENT CASE 776 001412 7640 SZA CLA /SKIP IF NORMAL CASE 777 001413 1040 TAD TOTAL /GET WORD COUNT 778 001414 7001 IAC /CHECK IF ABOUT TO OVERFLOW 779 001415 7640 SZA CLA /SKIP IF INVERTED CASE AND LAST CHARACTER ON LINE 780 001416 5777 JMP I (COMPRT) /GO BACK FOR MORE 781 001417 1002 TAD CNT /GET LINE COUNT 782 001420 7001 IAC /CHECK IF ON LAST LINE 783 001421 7650 SNA CLA /SKIP IF NOT LAST LINE 784 001422 5236 JMP CASBLNK /JUMP IF IT IS THE FINAL CHARACTER 785 001423 4560 JMS I [BMPADR] /BUMP 786 001424 0027 DMPBLK /TO NEXT 787 001425 7330 NL4000 /SET CASE FOR PRINTING THE CHARACTER ONLY 788 001426 3001 DCA CASE /ON THE NEXT LINE (FIRST TIME THROUGH) 789 001427 4564 JMS I [LOAD] /GET NEXT WORD 790 001430 0026 DMPUNT /FROM THIS ADDRESS 791 001431 7700 SMA CLA /SKIP IF LOWER-CASE CHARACTER 792 001432 1376 TAD ("^-"'+7700) /MAKE IT "^" 793 001433 1146 TAD ["'&77] /GET "'" 794 001434 4073 JMS P6CH /PRINT CASE AS LAST CHARACTER ON LINE 795 001435 5775 JMP I (COMPR2) /CONTINUE WITH ADDRESS ALREADY BUMPED 796 797 001436 1175 CASBLNK,TAD [" &77] /GET A 798 001437 4073 JMS P6CH /PRINT AS FINAL CHARACTER 799 001440 5777 JMP I (COMPRT) /FINISH IT THERE 800 801 001441 1040 RESRVD, TAD TOTAL /GET THE LINE COUNT 802 001442 1374 TAD (RESMSG+10) /ADJUST TO MESSAGE CHARACTER ADDRESS 803 001443 3036 DCA TEMP /STASH IT 804 001444 1436 TAD I TEMP /GET THE CHARACTER 805 001445 4051 JMS P7CH /PRINT IT 806 001446 5777 JMP I (COMPRT) /KEEP GOING 807 001447 0000 DOCASE, .-. /CASE CODE OUTPUT ROUTINE 808 001450 0174 AND [77] /JUST SIX-BIT 809 001451 3036 DCA TEMP /SAVE IT 810 001452 1001 TAD CASE /GET CURRENT CASE 811 001453 7440 SZA /SKIP IF REGULAR MODE 812 001454 5272 JMP TSTCASE /JUMP IF NOT 813 001455 1036 TAD TEMP /GET THE CHARACTER 814 001456 1373 TAD (-77) /COMPARE TO CASE CHARACTER 815 001457 7450 SNA /SKIP IF OTHERWISE 816 001460 5270 JMP SETINV /JUMP IF IT IS 817 001461 1175 TAD [-37+77] /IS IT THE "?"? 818 001462 7450 SNA /SKIP IF NOT 819 001463 1175 TAD [40] /ADJUST TO "?" 820 001464 1372 TAD (37) /RESTORE TO SIX-BIT 821 001465 4073 CASOUT, JMS P6CH /PRINT IT 822 001466 3001 CASDONE,DCA CASE /ENSURE NORMAL MODE 823 001467 5647 JMP I DOCASE /RETURN 824 825 001470 2001 SETINV, ISZ CASE /SET INVERTED MODE 826 001471 5647 JMP I DOCASE /RETURN 827 828 001472 7710 TSTCASE,SPA CLA /SKIP IF INVERTED MODE 829 001473 5303 JMP PRTCASE /JUMP IF SPECIAL CASE 830 001474 1036 TAD TEMP /GET THE CHARACTER 831 001475 0175 AND [" &77] /JUST QUADRANT BIT 832 001476 7104 CLL RAL /MAKE NEW LOWER-CASE BIT 833 001477 1036 TAD TEMP /ADD ON ORIGINAL 834 001500 3036 DCA TEMP /SETUP FOR SEVEN-BIT PRINT 835 001501 4771 JMS I (DO7) /PRINT IN TWO-CHARACTER FORM 836 001502 5266 JMP CASDONE /FINISH IT THERE 837 838 001503 1036 PRTCASE,TAD TEMP /GET THE CHARACTER 839 001504 0372 AND (37) /JUST WANT ALPHA AFTER PRIOR "^" OR "'" 840 001505 5265 JMP CASOUT /FINISH IT THERE 841 842 001506 1036 BCDOUT, TAD TEMP /GET THE WORD 843 001507 7006 RTL;RTL;RAL /MOVE DOWN FIRST BCD DIGIT 001510 7006 001511 7004 844 001512 4322 JMS PBCD /PRINT IT 845 001513 1036 TAD TEMP /GET IT AGAIN 846 001514 7012 RTR;RTR /MOVE DOWN THE SECOND BCD DIGIT 001515 7012 847 001516 4322 JMS PBCD /PRINT IT 848 001517 1036 TAD TEMP /GET THE THIRD BCD DIGIT 849 001520 4322 JMS PBCD /PRINT IT 850 001521 5777 JMP I (COMPRT) /FINISH IT THERE 851 001522 0000 PBCD, .-. /HEXADECIMAL BCD PRINT ROUTINE 852 001523 0147 AND [17] /JUST 4 BITS 853 001524 1376 TAD (-11) /COMPARE TO NINE 854 001525 7550 SPA SNA /SKIP IF GREATER THAN NINE 855 001526 1370 TAD ("0&77+11) /ADJUST TO ASCII 856 001527 4073 JMS P6CH /PRINT IT 857 001530 5722 JMP I PBCD /RETURN 858 859 001531 1266 MODTBL, TRIMD /1=USE TRIMMED ASCII 860 001532 1265 SXBIT /2=USE INVERTED SIX-BIT ASCII 861 001533 1400 CASCODE /3=USE CASE-CODE SIX-BIT ASCII 862 001534 1307 SVNBIT /4=USE SEVEN-BIT ASCII 863 001535 1311 T3FOR2 /5=USE 3 FOR 2 PACKED SEVEN BIT ASCII 864 001536 1506 BCDOUT /6=USE 3 BCD DIGITS PER WORD 865 001537 1441 RESRVD /7=USE RESERVED MESSAGE 866 867 001540 0000 WRDMOVE,.-. /WORD MOVING ROUTINE 868 001541 7450 SNA /PASSED ARGUMENT? 869 001542 7344 NL7776 /NO, USE DEFAULT VALUE 870 001543 3322 DCA PBCD /SAVE ARGUMENT 871 001544 7240 NL7777 /BACKUP 872 001545 1740 TAD I WRDMOVE /GET "FROM" ARGUMENT 873 001546 3011 DCA XR2 /SET IT UP 874 001547 2340 ISZ WRDMOVE /BUMP TO NEXT 875 001550 7240 NL7777 /BACKUP 876 001551 1740 TAD I WRDMOVE /GET "TO" ARGUMENT 877 001552 3012 DCA XR3 /SET IT UP 878 001553 2340 ISZ WRDMOVE /BUMP PAST ARGUMENTS 879 001554 1411 WRDMVLP,TAD I XR2 /GET A WORD 880 001555 3412 DCA I XR3 /PUT A WORD 881 001556 2322 ISZ PBCD /DONE ALL YET? 882 001557 5354 JMP WRDMVLP /NO, GO BACK 883 001560 5740 JMP I WRDMOVE /YES, RETURN 884 885 001561 0000 CASTEMP,.-. /TEMPORARY 886 001562 1157 IOERMSG,TEXT "I/O ERROR" /I/O ERROR MESSAGE 001563 1740 001564 0522 001565 2217 001566 2200 887 888 001570 0071 PAGE 001571 1336 001572 0037 001573 7701 001574 0562 001575 1302 001576 7767 001577 1300 889 001600 0040 TABL1, " &177 /BLANK 890 001601 0012 12&177 /LINE FEED 891 001602 0015 15&177 /CARRIAGE RETURN 892 001603 0057 "/&177 // 893 001604 0073 ";&177 /; 894 001605 0053 "+&177 /+ 895 001606 0055 "-&177 /- 896 001607 0056 INTLIMI,".&177 /. 897 001610 0072 ":&177 /: 898 001611 0134 "\&177 /\ 899 001612 0123 "S&177 /S 900 001613 0105 "E&177 /E 901 001614 0127 "W&177 /W 902 001615 0130 "X&177 /X 903 001616 0074 "<&177 /< 904 001617 0120 "P&177 /P 905 001620 0115 SPTABL, "M&177 /M 906 001621 0110 "H&177 /H 907 001622 0125 "U&177 /U 908 001623 0117 "O&177 /O 909 001624 0126 "V&177 /V 910 001625 0116 "N&177 /N 911 001626 7710 -70 /END OF LIST USED FOR NUMERIC CHECK 912 913 001627 0206 TABL2, BEGNIN /BLANKS ARE IGNORED 914 001630 0334 LNFEED /CLOSE PREVIOUS, OPEN + DISPLAY NEXT 915 001631 0307 RETURN /CLOSE PREVIOUS 916 001632 0240 EXAMIN /DISPLAY CURRENT 917 001633 0311 SEMICOLON /SAME AS LINEFEED BUT NO DISPLAY 918 001634 1042 ADDIT /OPEN .+ARG LOCATION 919 001635 1043 SBTRCT /OPEN .-ARG LOCATION 920 001636 0347 POINT /CHANGE BLOCK 921 001637 0400 COLON /CHANGE UNIT 922 001640 1200 BKSLSH /DUMP MEMORY 923 001641 0460 SAVE /SAVE BUFFER AND BOOTSTRAP 924 001642 7600 SBOOT /UNCONDITIONALLY (HASTILY) EXIT 925 001643 1656 WRDSRCH /SEARCH CORE AGAINST MASK 926 001644 1655 ECKS /SEARCH CORE AGAINST MASK (COMPLEMENTED) 927 001645 0315 PREV /RESTORE PREVIOUS ADDRESS 928 001646 1741 SRCPRC /PROCEED TO NEXT WORD SEARCH 929 001647 1032 MX /SET SEARCH MASK 930 001650 1031 HX /SET LOWER LIMIT 931 001651 1030 UX /SET UPPER LIMIT 932 001652 1027 OX /DISPLAY MODE 933 001653 1026 VX /VIEW CONTROL WORD 934 001654 1025 NX /SEARCH UNIT 935 001655 1162 ECKS, TAD [SNA-SZA] /INDICATE "X" 936 001656 1326 WRDSRCH,TAD LSZACLA /INDICATE "W" 937 001657 3300 DCA WINST /SETUP TEST INSTRUCTION 938 001660 1044 TAD HOME /GET LOWER LIMIT 939 001661 3021 DCA CHKBLK /SET IT UP 940 001662 1050 TAD UNIT /GET DESIGNATED UNIT 941 001663 0150 AND [7] /JUST UNIT BITS 942 001664 3020 DCA CHKUNT /SET IT UP 943 001665 3022 DCA CHKADR /CLEAR STARTING RELATIVE ADDRESS 944 001666 1031 TAD NUMB /GET THE ARGUMENT 945 001667 3041 DCA WORD /SAVE FOR SEARCHING 946 001670 4567 JMS I [CRLF] /DO A , 947 001671 4343 WLOOP1, JMS CHKLIMITS /ENSURE PROPER LIMITS 948 001672 4576 JMS I [CHKUP] /CHECK FOR <^C>, ETC. 949 001673 4564 JMS I [LOAD] /GET A 950 001674 0020 CHKUNT /TEST VALUE 951 001675 0043 AND MASK /JUST DESIRED BITS 952 001676 7041 CIA /INVERT FOR TEST 953 001677 1041 TAD WORD /COMPARE TO TEST ARGUMENT 954 001700 7640 WINST, SZA CLA /OR SNA CLA 955 001701 5314 JMP WLOOP2 /JUMP IF TEST FAILED 956 001702 4556 JMS I [PRTOUT] /PRINT OUT 957 001703 0020 CHKUNT /THE ADDRESS INFORMATION 958 001704 1046 TAD OTCONTROL /GET SEARCH MODE INDICATOR 959 001705 7710 SPA CLA /SKIP IF REGULAR MODE 960 001706 5332 JMP WPAUSE /JUMP IF PAUSE MODE 961 001707 1155 TAD ["/&77] /GET A "/" 962 001710 4073 JMS P6CH /PRINT IT 963 001711 1400 TAD I ADDRESS /GET THE VALUE AGAIN 964 001712 4563 JMS I [PRTOCT] /GO PRINT IT 965 001713 4567 JMS I [CRLF] /DO A , 966 001714 4343 WLOOP2, JMS CHKLIMITS /ENSURE PROPER LIMITS 967 001715 4560 JMS I [BMPADR] /BUMP TO 968 001716 0021 CHKBLK /NEXT ADDRESS 969 001717 1042 TAD WTSW /GET OUR SWITCH 970 001720 7650 SNA CLA /SKIP IF ALLOWED TO TEST 971 001721 5271 JMP WLOOP1 /ELSE JUST KEEP GOING 972 001722 1021 TAD CHKBLK /GET CURRENT BLOCK 973 001723 7041 CIA /INVERT FOR TEST 974 001724 1045 TAD UPPER /COMPARE TO UPPER LIMIT 975 001725 7001 IAC /ONE MORE IS THE ONE WE'RE LOOKING FOR 976 001726 7640 LSZACLA,SZA CLA /SKIP IF AT THE LIMIT 977 001727 5271 JMP WLOOP1 /JUMP IF NOT AT LIMIT YET 978 001730 4343 JMS CHKLIMITS /ESTABLISH CHECKPOINT 979 001731 5552 JMP I [BEGIN] /RESTART 980 981 001732 7346 WPAUSE, NL7775 /INDICATE THREE WORD MOVE 982 001733 4577 WMOVE; CHKUNT; CURUNT /MOVE OUR VALUES TO CURRENT VALUES 001734 0020 001735 0023 983 001736 1377 TAD (WLOOP2) /RESET THE 984 001737 3343 DCA CHKLIMITS /NEXT RESTART 985 001740 5776 JMP I (EXCURR) /FINISH UP IN EXAMINE ROUTINE 986 001741 4567 SRCPRC, JMS I [CRLF] /DO A , 987 001742 5743 JMP I CHKLIMITS /RESTART THERE 988 989 001743 0200 CHKLIMI,BEGIN /CHECK LIMITS ROUTINE;INITIALIZED FOR FALSE RESTART 990 001744 1044 TAD HOME /GET LOWER LIMIT 991 001745 7141 CLL CIA /INVERT FOR TEST 992 001746 1045 TAD UPPER /COMPARE TO UPPER LIMIT 993 001747 7620 SNL CLA /SKIP IF OK TO PROCEED 994 001750 5552 JMP I [BEGIN] /JUMP IF NOT 995 001751 5743 JMP I CHKLIMITS /RETURN IF OK 996 997 001752 7200 NOQ, CLA /CLEAN UP 998 001753 1375 TAD ("?-"0-11) /??=BAD INPUT CHARACTER 999 001754 7001 NO9, IAC /?9=BAD ARGUMENT TO "/" 1000 001755 7001 NO8, IAC /?8=NO ARGUMENT TO ":" 1001 001756 7001 NO7, IAC /?7=BAD ARGUMENT TO ":" 1002 001757 7001 NO6, IAC /?6=NO ARGUMENT TO "G" OR "R" **** 1003 001760 7001 NO5, IAC /?5=DUPLICATE BREAKPOINT ATTEMPTED **** 1004 001761 7001 NO4, IAC /?4=BAD ARGUMENTS TO "\" 1005 001762 7001 NO3, IAC /?3=BREAKPOINT LOOKUP FAILURE IN "#" **** 1006 001763 7001 NO2, IAC /?2=NO ARGUMENT TO "#" **** 1007 001764 7001 NO1, IAC /?1=ILLEGAL ADDRESS OR VALUE 1008 001765 5774 NO0, JMP I (NOCOM) /?0=TOO MANY DIGITS 1009 1010 001774 0300 PAGE 001775 0006 001776 0255 001777 1714 1011 BUFFER= . /I/O BUFFER HERE 1012 1013 IFNZRO .&177 1014 1015 BLKODT= . /START OF BLKODT SYSTEM 1016 1017 002000 0070 L70, 70 /HERE IN CASE WE'RE CHAINED TO 1018 002001 1470 TAD I L7600/[SBOOT] /GET BOOTSTRAP INSTRUCTION 1019 002002 1377 TAD (-JMSSYSIO) /COMPARE TO POSSIBLE VALUE 1020 002003 7650 SNA CLA /SKIP IF DIFFERENT 1021 002004 5210 JMP CHKCOVRLAY /JUMP IF IT MATCHES 1022 002005 2116 ISZ CHKKRS /TURN "KRSIOT" 1023 002006 2116 ISZ CHKKRS /INTO "KRBIOT" 1024 002007 3127 DCA CHKKCC /DESTROY "KCCIOT" 1025 002010 7326 CHKCOVR,NL0002 /SET "C" BIT MASK 1026 002011 0571 AND I [SCRSIZE] /GET THE BIT 1027 002012 7650 SNA CLA /SKIP IF "C" BIT SET 1028 002013 5236 JMP STARTIT /JUMP IF NOT 1029 002014 1571 TAD I [SCRSIZE] /GET THE CORE SIZE WORD 1030 002015 7012 RTR;RAR /MOVE OVER AND 002016 7010 1031 002017 0200 AND L70/(70) /ISOLATE MCS BITS 1032 002020 1376 TAD (CIF 10) /TURN INTO "CIF MCS+10" 1033 002021 3065 DCA P7TSF /STORE OVER "TSFIOT" 1034 002022 1066 TAD P7JMP /GET "JMP I P7OUT" 1035 002023 3067 DCA P7TLS /STORE OVER "TLSIOT" 1036 002024 1375 TAD (JMS OUTCON) /GET OUTPUT CALL 1037 002025 3066 DCA P7JMP /STORE OVER "JMP I P7OUT" 1038 002026 1065 TAD P7TSF /GET "CIF MCS+10" 1039 002027 3114 DCA CHKKSF /STORE OVER "KSFIOT" 1040 002030 1115 TAD CHKJMP /GET "JMP I CTLCTST" 1041 002031 3116 DCA CHKKRS /STORE OVER "KRSIOT" (OR "KRBIOT" 1042 002032 1374 TAD (JMS INCON) /GET INPUT CALL 1043 002033 3115 DCA CHKJMP /STORE OVER "JMP I CTLCTST" 1044 002034 3127 DCA CHKKCC /DESTROY "KCCIOT" 1045 002035 3773 DCA I (VMCLR) /DESTROY "KCCIOT" 1046 002036 1772 STARTIT,TAD I (SBTFUN) /GET BOOTSTRAP FUNCTION 1047 002037 0150 AND [7] /JUST UNIT BITS 1048 002040 3020 DCA CHKUNT /SAVE AS CURRENT WORD SEARCH UNIT 1049 002041 1020 TAD CHKUNT /GET IT BACK 1050 002042 3023 DCA CURUNT /SAVE AS CURRENT UNIT 1051 002043 1023 TAD CURUNT /GET IT BACK 1052 002044 3032 DCA PRVUNT /SAVE AS PREVIOUS UNIT 1053 002045 1032 TAD PRVUNT /GET IT BACK 1054 002046 3026 DCA DMPUNT /SAVE AS "\" UNIT 1055 002047 1026 TAD DMPUNT /GET IT BACK 1056 002050 3050 DCA UNIT /SAVE AS SEARCH UNIT 1057 002051 3033 DCA PRVBLK /CLEAR PREVIOUS BLOCK 1058 002052 3034 DCA PRVADR /CLEAR PREVIOUS ADDRESS 1059 002053 5552 JMP I [BEGIN] /GO START IT UP 1060 1061 002172 7602 PAGE 002173 0501 002174 4031 002175 4033 002176 6212 002177 3540 1062 1063 000146 0047 $ /HERE COME THE LITERALS! 000147 0017 000150 0007 000151 0503 000152 0200 000153 7774 000154 7770 000155 0057 000156 1115 000157 0015 000160 0707 000161 0060 000162 0010 000163 1000 000164 0741 000165 7600 000166 1107 000167 0411 000170 0460 000171 7611 000172 0177 000173 0136 000174 0077 000175 0040 000176 0420 000177 1540 ADDIT 1042 ADDRES 0000 BAGAIN 0203 BCDOUT 1506 BEGIN 0200 BEGNIN 0206 BKLUP1 1216 BKLUP2 1226 BKLUP3 1253 BKSLSH 1200 BLKADD 0631 BLKODT 2000 unreferenced BLKSIZ 0200 BMPADR 0707 BUFFER 2000 BUMPIT 1241 CASBLN 1436 CASCOD 1400 CASDON 1466 CASE 0001 CASOUT 1465 CASTEM 1561 CHKADR 0022 CHKBLK 0021 CHKCLR 0443 CHKCOV 2010 CHKDIG 1107 CHKJMP 0115 CHKKCC 0127 CHKKRS 0116 CHKKSF 0114 CHKLIM 1743 CHKUNT 0020 CHKUP 0420 CHNGED 0647 CMDLUP 0215 CNT 0002 CNTRLI 1346 COLIN 0352 COLON 0400 COMMON 0323 COMPR2 1302 COMPRT 1300 CONTEM 0013 CONTPR 0101 CRLF 0411 CTLCTS 0112 CURADR 0025 CURBLK 0024 CURUNT 0023 DMPADR 0030 DMPBLK 0027 DMPUNT 0026 DO7 1336 DOCASE 1447 DOCNTR 1353 DOLOWR 1355 DONEG 1076 DOODD 1324 DOUO 0445 DUMP 0462 ECHOSW 0014 ECKS 1655 EXAMIN 0240 EXCURR 0255 GETADR 0600 HOME 0044 HX 1031 IACS 6163 INCHAR 0015 INCON 0031 INTLIM 1607 INTSW 0016 IOERCT 0003 IOERMS 1562 JMSC 4200 JMSSYS 4240 KCCIOT 6032 KEYCOD 6030 KRBIOT 6036 unreferenced KRSIOT 6034 KSFIOT 6031 L70 2000 L7600 0070 LDA 1000 LINC 6141 LNFEED 0334 LOAD 0741 LOWRIN 1350 LSZACL 1726 M140 1313 MASK 0043 MODTBL 1531 MX 1032 NL0001 7201 NL0002 7326 NL4000 7330 NL7775 7346 NL7776 7344 NL7777 7240 NO0 1765 unreferenced NO1 1764 NO2 1763 unreferenced NO3 1762 NO4 1761 NO5 1760 unreferenced NO6 1757 unreferenced NO7 1756 NO8 1755 NO9 1754 NOCOM 0300 NOQ 1752 NUMB 0031 NUMRAL 0261 NX 1025 OCHAR 0017 OFF 0001 ON 0000 OTCONT 0046 OUTCON 0033 OUTOK 1244 OX 1027 P10BLK 0731 P6CH 0073 P7AGN 0053 P7CH 0051 P7JMP 0066 P7OFF 0062 P7OUT 0064 P7TEMP 0004 P7TLS 0067 P7TSF 0065 PBCD 1522 PDP 0002 PHIT 0453 PLOOP 1004 POINT 0347 PREV 0315 PRONOR 1140 PRTCAS 1503 PRTCOD 6040 PRTOCT 1000 PRTOUT 1115 PRVADR 0034 PRVBLK 0033 PRVUNT 0032 PSYSIO 0441 READIT 0650 RESMSG 0552 RESRVD 1441 RESW 0005 RETURN 0307 SAMBUF 0675 SAVARE 0562 SAVE 0460 SBOOT 7600 SBTFUN 7602 SBTRCT 1043 SCR 0340 SCRIBE 0503 SCRLUP 0510 SCRPTR 0035 SCRSIZ 7611 SCTRIM 0521 SEMICO 0311 SETINV 1470 SHUT 0006 SPBARF 0626 SPTABL 1620 SRCPRC 1741 STARTI 2036 STORE 0750 STORFL 0007 SVNBIT 1307 SXBIT 1265 SYSBLK 0547 SYSCOR 0545 SYSDEV 0527 SYSFUN 0546 SYSIO 7640 T3FOR2 1311 T3TEMP 1361 TABL1 1600 TABL2 1627 TEMP 0036 TEMP2 0037 TLSIOT 6046 TOTAL 0040 TRIMD 1266 TRYAGA 0212 TRYLOW 0355 TSFIOT 6041 TSTCAS 1472 TTY 0003 UNIT 0050 UPARW3 0342 UPPER 0045 UX 1030 VIEWCO 0047 VM1AGN 0665 VM1ERR 0702 VM2AGN 0470 VM2ERR 0475 VMBLK1 0763 VMBLK2 0766 VMBUFP 0761 VMCLR 0501 VMFUN1 0762 VMFUN2 0765 VMPRM2 0764 VX 1026 WINST 1700 WLOOP1 1671 WLOOP2 1714 WMOVE 4577 WORD 0041 WPAUSE 1732 WRDMOV 1540 WRDMVL 1554 WRDSRC 1656 WRITE 4000 WTSW 0042 XR1 0010 XR2 0011 XR3 0012