File: OS850.LS of Disk: V50/Init/Build-Init
(Source file text)
/OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 1 /OS8 MONITOR SYSTEM VERS. 50 / / / / / / / / / /COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION / AND 2015 W. VAN DER MARK (WM) / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 2 /13-APRIL-1977 RL/EF/HJ/SR /10-MAY-1979 WM VERSION /27-MAY-2015 WM VERSION AGAIN /THIS VERSION OF OS/8 IS THE BATCH OPERATING SYSTEM /AS WELL AS THE STANDARD KEYBOARD SYSTEM. THIS SYSTEM /IS EXTERNALLY COMPATIBLE WITH ALL PREVIOUS OS/8-PS/8 /USER PROGRAMS. HOWEVER, INTERNALLY THE SYSTEMS ARE /QUITE DIFFERENT. THE MARCH 1972 OS/8 WILL NOT RUN BATCH. /THIS VERSION IS COMPATIBLE WITH CCL. / SYMBOLIC REFERENCES TO VARIOUS OVERLAYS: 0026 MEOVLY=26 /DIRECTORY OVERFLOW OVERLAY FOR "ENTER" 0051 MCDREC=51 /COMMAND DECODER 0054 MSOVLY=54 /"SAVE W. ARGS" OVERLAY 0055 MSOVL2=55 /SECOND PART OF SAVE W. ARGS 0056 MERRTN=56 /MONITOR ERROR ROUTINE 0057 MRUNRC=57 /"CHAIN" OVERLAY 0060 ODTREC=60 /SYSTEM ODT 0064 MRESER=64 /EXTENDED MEMORY OVERLAY 0067 CCLREC=67 /CCL EXTENSION BLOCK 0070 MFREE=70 /BEGINNING OF FILE STORAGE 7400 CCB=7400 0400 CSOVLY=400 1400 CCOVLY=1400 6200 LXM=6200 /EXTENDED MEMORY LOAD INSTRUCTION 0005 VERSNO=5 0261 PATCHLEV="1 /GERMAN=1 /ENABLE GERMAN MESSAGES - NOT ANYMORE /V3 CHANGES: /1. CCL SUPPORT /2. FIXED KILLER CLOSE BUG /3. ADDED VERSION NUMBER /4. ^U, RO TO BOL, AND LF ALL PRINT '.' AGAIN /5. CALL TO USR WITH CODE OF 0 GIVES ERROR /6. MONITOR ERROR MESSAGES NOW GIVE EXPLANATION /7. ENTER NOW MOVES 7 FILES TO MAKE ROOM INSTEAD OF HALF SEGMENT /8. DIRECTORY VERIFICATION HAS IMPROVED /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 3 /V3 FIXES TO ABSLDR: /1. ALLOWED PARITY ^C /2. PUT IN SELF-STARTING STUFF /3. FIXED CCB BUG FOR 17600 /FIXES TO FIELD RELEASE /1. ABSLDR CHECKS PAGE 0 LITERALS /2. FIXED BUG RE MONITOR ERROR MESSAGES /3. ADDITIONAL INFO FIX /4. BATCH FIX /FIXES FOR MAINTENANCE RELEASE: /1. CHANGED VERSION NUMBER OF MONITOR TO V3M /2. INCORPORATED PATCH RE LOC 13121 AFTER MONITOR ERROR / [SEQ #1, DSN APRIL 1975] /3. ALLOW CHAIN TO WORK ON FULL FIELD SAVES / [SEQ #2, DSN JUNE 1975] /4. ALLOW ABSLDR/I TO WORK ON FULL FIELD CORE IMAGES / [SEQ #1, DSN OCTOBER 1975] /5. ADDED INTERNAL VERSION NUMBER TO ABSLDR AT LOCATION 2200 / MAINT. RELEASE VERSION # IS V4 /6. SET INITIAL ABSLDR DATE TO 1-NOVEMBER-1975 /V3D AND OS/78 CHANGES: /1. ACCEPT DEC STANDARD DATE FORMAT FOR INPUT (DD-MMM-YY) /2. CHANGED VERSION NUMBER TO V3Q /3. ADDED DATE/78 CHANGES /4. FIXED BUG ABOUT WAITING FOR TTY FLAG & BATCH /5. ADDED STUFF FOR LINKER [USES SOFSET] /6. CHANGED ABSLDR DATE TO 1-JUNE-77 /7. DISALLOW RUN OF PROGRAM WITH BIT 4 OF JSW ON [OS/78 ONLY] /8. ASSIGNED RESIDENT BITS FOR SCOPE AND OS/78 /9. ALLOW @ IN KBM COMMAND /10. COULD RUN INIT.CM ON SYSTEM START-UP /11. CHANGED BAD CORE IMAGE MSG TO CORE IMAGE ERR /12. CHANGED ABSLDR/I SO THAT IT SETS UP JSW AND SA /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 4 /V3F CHANGES: /1. ADDED MONITOR SUPPORT FOR KT8A / A. R,RUN, GET COMMANDS NOW LOAD 128K / B. SAVE COMMAND CAN SAVE UP TO 128K /2. ADDED HIGROUND SUPPORT /3. ABSLDR ALSO UPDATED TO SUPPORT 128K /V40: / ABSLDR SHOULD WORK NOW / WHY NOT USE BSW? / KILL OS78 / GIVE GERMAN ERROR MESSAGES / DON'T FORGET TO ASSEMBLE WITH /W /V50: / VERSION 5X /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 5 /KEYBOARD MONITOR FOR OS/8 SYSTEM 0000 FIELD 0 7346 MTHREE=CLA CLL CMA RTL 0200 *200 000200 5707 PRINT, JMP I HNDL /MUST BE AT 200 FOR BATCH 000201 5204 JMP .+3 /****GETS CIF CDF N FOR BATCH***** 000202 6041 TSF /****GETS JMP I .+1****** 000203 5202 JMP .-1 /*GETS BOSPRT***** 000204 6046 TLS 000205 7200 CLA 000206 1177 TAD [7000 000207 3201 DCA PRINT+1 000210 5600 JMP I PRINT 000211 0000 GETNAM, 0 /ROUTINE TO ACESS TTY INPUT 000212 3034 DCA NM1 /FIRST OFF,INITIALIZE 000213 3035 DCA NM2 /SET UP SYMBOLS FOR STORING NAME 000214 3036 DCA NM3 000215 3037 DCA NM4 000216 1323 TAD TNM1 000217 3044 DCA PN 000220 7240 CLA CMA 000221 3045 DCA PRDSW 000222 3043 GTNMX, DCA NMCT 000223 1413 TAD I LXR /LOCATE FIRST CHARACTER 000224 1324 TAD M240 /IS IT A SPACE? 000225 7450 SNA /IF SO TEST NEXT CHARACTER 000226 5223 JMP .-3 000227 1176 TAD [240 /WE'VE GOT FIRST CHARACTER 000230 7410 SKP 000231 1413 GTNMLP, TAD I LXR /GET ANOTHER CHARACTER 000232 1333 TAD M340 /CONVERT LC TO UC 000233 7500 SMA 000234 1175 TAD [-40 000235 1313 TAD LDBLK /*K*=340 000236 3031 DCA TMP 000237 1031 TAD TMP 000240 1362 TAD M256 /IS IT A PERIOD? 000241 7450 SNA 000242 5276 JMP PERIOD /IF SO, PROCESS IT 000243 1174 TAD [-2 000244 7100 CLL 000245 1361 TAD M12 000246 7620 SNL CLA /IS IT GT ASCII CHARACTER (#9)? 000247 5256 JMP NINSRT /IF NO, INSERT IN NAME 000250 1363 TAD M301 000251 1031 TAD TMP 000252 7120 CLL CML 000253 1173 TAD [-32 000254 7620 SNL CLA /IS IT GT ASCII(Z),IF SO /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 5-1 000255 5303 JMP EONAME /END OF NAME /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 6 000256 1043 NINSRT, TAD NMCT /CHECK FOR MAXIMUM CHARS 000257 1172 TAD [-6 000260 7700 SMA CLA 000261 5231 JMP GTNMLP /IF MAXIMUM SAVE NO MORE 000262 1043 TAD NMCT /SET UP POINTER TO STORE CHARACTER 000263 7110 CLL RAR 000264 1044 TAD PN 000265 3040 DCA TEMP1 /HERE IS POINTER TO NM1,NM2,ETC. 000266 1031 TAD TMP 000267 0171 AND [77 /ISOLATE SIX BITS FOR STORAGE 000270 7420 SNL 000271 7002 BSW 000272 1440 TAD I TEMP1 /OR IT IN AND STORE 000273 3440 DCA I TEMP1 000274 2043 ISZ NMCT 000275 5231 JMP GTNMLP 000276 2045 PERIOD, ISZ PRDSW 000277 5303 JMP EONAME 000300 2044 ISZ PN 000301 1322 TAD N4 000302 5222 JMP GTNMX 000303 1043 EONAME, TAD NMCT 000304 7640 SZA CLA 000305 2211 ISZ GETNAM 000306 5611 JMP I GETNAM 000307 4000 HNDL, 4000 /ROUTINE TO RELOAD NON-SYS HANDLER FOR SAVE ROUTINE 000310 4570 JMS I [SHNDLR 000311 0200 0200 /READ TWO PAGES 000312 1000 1000 /INTO 1000 000313 0340 LDBLK, 340 /SET UP BY SAVE ROUTINE 000314 5003 JMP KMONER 000315 5707 JMP I HNDL 000316 4567 KMER3, JMS I [PRMESG IFDEF GERMAN < TEXT /NEIN/> 000317 1617 IFNDEF GERMAN < TEXT /NO!!/> 000320 4141 000321 0000 000322 0004 N4, 4 000323 0034 TNM1, NM1 000324 7540 M240, -240 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 7 000325 4340 PRINLP, JMS PRWD 000326 2330 ISZ PRMESG 000327 7410 SKP IFNZRO .-330 <CCLTRB,ERRR> 000330 0000 PRMESG, 0 /ERROR MESSAGE PRINTING ROUTINE 000331 7200 CLA 000332 1730 TAD I PRMESG 000333 7440 M340, SZA 000334 5325 JMP PRINLP 000335 6041 TSF 000336 5335 JMP .-1 000337 5433 JMP I ERRET /RETURN TO MONITOR 000340 0000 PRWD, 0 000341 3031 DCA TMP 000342 1031 TAD TMP 000343 7002 BSW 000344 4350 JMS PCHAR 000345 1031 TAD TMP 000346 4350 JMS PCHAR 000347 5740 JMP I PRWD 000350 0000 PCHAR, 0 000351 0171 AND [77 000352 7450 SNA 000353 5750 JMP I PCHAR 000354 1176 TAD [240 000355 0171 AND [77 000356 1176 TAD [240 000357 4423 JMS I PCH 000360 5750 JMP I PCHAR /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 8 000361 7766 M12, -12 000362 7522 M256, -256 000363 7477 M301, -301 000364 4330 PRINTQ, JMS PRMESG 000365 7700 TEXT /?/ 000366 0000 0 000367 4570 SAVE12, JMS I [SHNDLR /RELOAD AND RETURN TO MONITOR FROM SAVE 000370 0610 0610 000371 0000 0 000372 0013 MONTOR 000373 5003 JMP KMONER 000374 7340 CLL CLA CMA 000375 6211 CDF 10 000376 3566 DCA I [7700 000377 5565 JMP I [7605 0400 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 9 000400 5665 KMNTRY, JMP I GDEVNO 000401 0652 BFDIFF, SVLNBF-BEGLN 000402 4564 PCRLF, JMS I [CRLF IFNZRO .-403 <BTCHER,______> 000403 4424 KEYMON, JMS I GLINE 000404 1163 TAD [BEGLN-1 /ADDRESS REFERENCED BY INIT 000405 3013 DCA LXR 000406 4425 JMS I GNAME 000407 0012 K12, 12 /V3D ALLOW @ IN NAME 000410 4562 JMS I [SRCH 000411 7655 -123; ASSIGN 000412 0436 000413 5477 -2301; SAVE 000414 0545 000415 5553 -2225; RUN 000416 0512 000417 7073 -705; GET 000420 0511 000421 5600 -2200; R 000422 0455 000423 5454 -2324; START 000424 0600 000425 6074 -1704; ODT 000426 0573 000427 7373 -0405; DEAS /GETS 7777 FROM CCL 000430 0637 IFNZRO .-431 <SEECCL,______> 000431 7377 -0401; DATE 000432 1367 000433 0000 0 000434 5635 JMP I CCLSW IFNZRO .-435 <SEECCL,______> 000435 1357 CCLSW, PRQMRK /MODIFIED FOR CCL TO 'GETCCL' 000436 1207 ASSIGN, TAD K12 000437 4265 JMS GDEVNO 000440 1175 TAD [UDNAME-1 000441 3041 DCA TM1 000442 4425 JMS I GNAME 000443 0765 XKMER1, KMER1 /NO USER DEV. DO A DEASSIGN *FALL THRU* 000444 1035 TAD NM2 /SEE IF WE HASH IT 000445 7450 SNA 000446 5253 JMP ASGN2 /DON'T HASH..ONLY 1 OR 2 CHARS 000447 1034 TAD NM1 000450 7004 RAL /LINK BECOMES 4000 IF NECESSARY 000451 7230 CLA CML RAR 000452 1035 TAD NM2 000453 1034 ASGN2, TAD NM1 000454 5561 JMP I [ASDONE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 10 000455 3560 R, DCA I [GETSW 000456 1030 TAD P6203 000457 4557 JMS I [RESET 000460 2046 ISZ RUNSW 000461 1170 TAD [SHNDLR 000462 3305 DCA HANDAD 000463 7201 CLA IAC 000464 5320 JMP RGETPG 000465 1005 GDEVNO, KMINIT 000466 3302 DCA ASNM1-1 000467 4556 JMS I [MINCOR 000470 4425 JMS I GNAME 000471 5555 JMP I [KMER4 000472 1034 TAD NM1 000473 3303 DCA ASNM1 000474 1035 TAD NM2 000475 3304 DCA ASNM1+1 000476 1364 TAD HNDLAD 000477 3305 DCA HANDAD 000500 6212 CIF 10 000501 4422 JMS I SYSTEM 000502 0001 1 000503 0000 ASNM1, 0;0 000504 0000 000505 7001 HANDAD, 7001 /OR 1001 000506 5643 JMP I XKMER1 000507 1304 TAD ASNM1+1 000510 5665 JMP I GDEVNO /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 11 000511 1154 GET, TAD [SKP 000512 3560 RUN, DCA I [GETSW 000513 1030 TAD P6203 000514 4557 JMS I [RESET 000515 3046 DCA RUNSW 000516 7201 CLA IAC 000517 4265 JMS GDEVNO 000520 4332 RGETPG, JMS RSCOMN 000521 4556 JMS I [MINCOR 000522 1050 TAD SENTER 000523 6212 CIF 10 000524 4422 JMS I SYSTEM 000525 0002 2 000526 0034 PGNAME, NM1 000527 7626 MOVBUF /USED AS POINTER TO FIELD 1 SR 000530 5553 JMP I [KMER2 000531 5552 JMP I [RLOADR 000532 0000 RSCOMN, 0 000533 3050 DCA SENTER 000534 1305 TAD HANDAD 000535 3026 DCA DEVHND 000536 4425 JMS I GNAME 000537 5555 JMP I [KMER4 000540 1037 TAD NM4 000541 7450 SNA 000542 1151 TAD [2326 000543 3037 DCA NM4 000544 5732 JMP I RSCOMN 000545 1150 SAVE, TAD [SAVE12 /CHANGE ERROR RETURN ADDRESS AS WE WILL DESTROY CORE 000546 3033 DCA ERRET 000547 1573 TAD I [JSBITS 000550 4557 JMS I [RESET 000551 6212 CIF 10 /MOVE THE LINE BUFFER TO 1600 DURING 000552 4727 JMS I PGNAME+1 /A SAVE, AS HANDLER WIPES IT OUT 000553 1013 TAD LXR /LET'S MOVE THE REGISTER AROUND 000554 1201 TAD BFDIFF 000555 3013 DCA LXR 000556 1375 TAD K1001 000557 3364 DCA HNDLAD 000560 7201 CLA IAC 000561 4265 JMS GDEVNO 000562 4332 JMS RSCOMN 000563 5547 JMP I [SAVE2 HNDLAD, /REPLACED WITH 1001 BY SAVE 000564 7001 WRCTLB, 7001 /WRITE OVERLAY AND CCB 000565 4570 JMS I [SHNDLR 000566 4600 4600 000567 6200 6200 000570 0035 MTEMP+6 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 11-1 000571 5003 JMP KMONER 000572 5764 JMP I WRCTLB /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 12 /LOADS SYSTEM ODT OVER THE MONITOR 000573 4432 ODT, JMS I PGTOUT 000574 4570 JMS I [SHNDLR 000575 1001 K1001, 1001 000576 0000 0 000577 0060 ODTREC IFNZRO .-600 <SEEODT,_____> /LOCATION 600 IN ODT IS A HLT (ERROR RETURN) 0400 RELOC CSOVLY 0400 PAGE 0600 RELOC /CLEAN UP PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 13 000600 3040 START, DCA TEMP1 000601 3021 DCA TEMP2 000602 1413 TAD I LXR /V3 000603 7440 SZA /V3 000604 5546 JMP I [STRTX /V3 000605 1545 TAD I [JFIELD 000606 3544 DCA I [MSTCDF 000607 1573 TAD I [JSBITS 000610 0143 AND [1000 000611 7640 SZA CLA 000612 5542 JMP I [KMER3 000613 1573 TAD I [JSBITS 000614 4557 JMS I [RESET /RESET ONLY IF NO START ADR SPECIFIED 000615 1541 TAD I [JSTART 000616 3540 STCOMN, DCA I [MSTADR 000617 6041 TSF 000620 5217 JMP .-1 /WAIT FOR PRINTER TO FINISH 000621 4432 JMS I PGTOUT 000622 1573 TAD I [JSBITS 000623 7710 SPA CLA 000624 5572 JMP I [MSTCDF-1 000625 1170 TAD [SHNDLR 000626 3537 DCA I [MREAD-1 000627 1143 TAD [1000 000630 3536 DCA I [MREAD+1 000631 3535 DCA I [MREAD+2 000632 1134 TAD [MTEMP+4 000633 3533 DCA I [MREAD+3 000634 1027 TAD FUDJMP 000635 3532 DCA I [MSWITC 000636 5531 JMP I [MREAD /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 14 000637 1175 DEAS, TAD [UDNAME-1 000640 3014 DCA X1 000641 1135 TAD [-17 000642 3041 DCA TM1 000643 6211 CDF 10 000644 3414 DCA I X1 000645 2041 ISZ TM1 000646 5244 JMP .-2 000647 6203 ASRET, CDF CIF 0 000650 5530 JMP I [KEYMON RLOADR, 000651 1527 RUN1, TAD I [PGNAME 000652 3256 DCA FILE 000653 4426 JMS I DEVHND 000654 0101 0101 000655 7400 CCB 000656 0000 FILE, 0 /READ IN THE HEADER BLOCK 000657 5003 JMP KMONER /ERROR WHILE READING HEADER BLOCK 000660 1526 TAD I [CCB 000661 4525 JMS I [CCBTST /TEST FOR VALID CORE CONTROL 000662 1051 TAD EXTMP 000663 3777 DCA I (RUNCNT 000664 1524 TAD I [CCB+1 000665 3544 DCA I [MSTCDF 000666 1523 TAD I [CCB+2 000667 3540 DCA I [MSTADR /MOVE THE STARTING ADDRESS INTO UPPER CORE 000670 1524 TAD I [CCB+1 000671 3545 DCA I [JFIELD 000672 1523 TAD I [CCB+2 000673 3541 DCA I [JSTART 000674 1522 TAD I [CCB+3 /SET UP THE JOB INFORMATION AREA 000675 4557 JMS I [RESET /AND CLEAR INFORMATION ABOUT "RUN" HANDLER 000676 1027 TAD FUDJMP 000677 3532 DCA I [MSWITC /SET MSWITC TO INHIBIT LOADING 7400 000700 7410 GETSW, SKP /SKP FOR GET, NOP FOR RUN 000701 5306 JMP RUN2 000702 1030 TAD P6203 000703 3544 DCA I [MSTCDF 000704 1121 TAD [7600 000705 3540 DCA I [MSTADR /IF A GET, SET STARTING ADDRESS TO RETURN /TO MONITOR /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 15 000706 1777 RUN2, TAD I (RUNCNT /PATCH DSN APR-MAY 79 000707 7144 CLL CMA RAL /POINT TO LAST DOUBLEWORD IN CCB 000710 1376 TAD (CCB+4 000711 3041 DCA TM1 /TM1 POINTS TO SEG. ADDRESS 000712 1441 TAD I TM1 /STORE ADDRES TO READ POSSIBLE OVERLAY 000713 3535 DCA I [MREAD+2 000714 2041 ISZ TM1 /POINT TO SEGMENT CONTROL WORD 000715 1026 TAD DEVHND /IF THE HANDLER IS IN 7600, OR 000716 1120 TAD [200 /IF THE SEGMENT DOES NOT LOAD OVER 000717 7204 CLA RAL /7000, NO OVERLAY IS NEEDED. ALSO IF 000720 1441 TAD I TM1 /THE SEGMENT IS IN FIELDS 1-7. 000721 0171 AND [77 000722 7640 RUN5A, SZA CLA 000723 5517 JMP I [RUN6 /NO PROBLEMS.. READ STUFF IN 000724 1535 TAD I [MREAD+2 /SEE IF WE OVERLAY 7000 000725 7130 CLL CML RAR 000726 1441 TAD I TM1 /ADD IN CONTROL WORD 000727 1116 TAD [300 000730 7510 SPA /IF NEGATIVE, 7000 IS NOT OVERLAYED 000731 5322 JMP RUN5A 000732 1121 TAD [7600 /GETS 0, 100, 200, OR 300 000733 7500 SMA /IF POSITIVE READ 3 PAGE OVERLAY 000734 2515 ISZ I [PGNAME+1 /POINT TO NEXT TO LAST RECORD 000735 1116 TAD [300 000736 3344 DCA RDCNT 000737 1515 TAD I [PGNAME+1 000740 7040 CMA /GET RECORD TO READ OVERLAY FROM 000741 1256 TAD FILE 000742 3346 DCA R7000 000743 4426 JMS I DEVHND /READ OVERLAY FROM THE FILE INTO PAGES 000744 0000 RDCNT, 0 /BEFORE CCB 000745 6200 6200 /THEN WRITE THE WHOLE MESS OUT 000746 0000 R7000, 0 000747 5003 JMP KMONER 000750 4514 JMS I [WRCTLB /WRITE OUT THE OVERLAY+CCB 000751 3350 DCA .-1 /BUT ONLY ONCE!! 000752 2046 ISZ RUNSW 000753 3532 DCA I [MSWITC /ENABLE READ OF OVERLAY 000754 1344 TAD RDCNT /SEE IF THIS SEG IS EXHAUSTED 000755 7041 CIA 000756 1441 TAD I TM1 000757 7550 SPA SNA 000760 2777 ISZ I (RUNCNT /ARE WE DONE WITH ALL SEGMENTS? 000761 7410 SKP /NOT YET. LOOP UNTIL DONE 000762 5532 JMP I [MSWITC 000763 3441 RUN5, DCA I TM1 /SAVE ALTERED CONTROL WORD 000764 5306 JMP RUN2 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 16 000765 4513 KMER1, JMS I [PRNAME /DEVICE NOT AVAILABLE 000766 4567 JMS I [PRMESG IFDEF GERMAN < TEXT / UNBEKANNT/> 000767 4025 IFNDEF GERMAN < TEXT / UNKNOWN! /> 000770 1613 000771 1617 000772 2716 000773 4140 000774 0000 000776 7404 000777 1763 1000 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 17 /MUST BE AT 1000 FOR BATCH 001000 0000 BEGLN, 0 /LINE BUFFER COULD BECOME "@ 001001 0311 "I 001002 0316 "N 001003 0311 "I 001004 0324 "T 001005 6211 KMINIT, CDF 10 /INITIALIZATION - DESTROYED BY LINE BUFFER 001006 2566 ISZ I [7700 /LOC 17700=7777 IF I/O MONITOR IS KNOWN 001007 5212 JMP .+3 /TO BE IN CORE, SO SET UP 001010 1120 TAD [200 /THE INITIAL POINTER FOR CALLS TO THE MONITOR 001011 3022 DCA SYSTEM /ACCORDINGLY 001012 6201 CDF 0 001013 1413 TAD I LXR /MOVE PMSRST TO MSWITC+1 001014 3414 DCA I X1 001015 2021 ISZ TEMP2 001016 5213 JMP .-3 001017 6211 CDF 10 001020 1263 TAD MVFROM 001021 3662 DCA I PDBUF 001022 2220 ISZ .-2 001023 2262 ISZ PDBUF 001024 2261 ISZ MVCNT 001025 5220 JMP .-5 001026 6201 CDF 0 001027 1663 TAD I PDBUF+1 /SEE IF BATCH IS SET 001030 7004 RAL /IF YES, GO TO PAGE 0 TO CONTINUE 001031 7700 SMA CLA /IF IT ISN'T, CONTINUE NORMALLY 001032 5241 JMP INTGO /NORMAL KEYBOARD SYSTEM 001033 3650 DCA I RTWTPT /DON'T WAIT ON TTY FLAG IF BATCH IS RUNNING 001034 1573 TAD I [JSBITS /IS BOS IN PLACE? 001035 0251 AND DCBF 001036 7650 SNA CLA 001037 5035 JMP BATCH /NO. GO READ IT IN. 001040 5046 JMP BCHGO /YES. START IT UP. 001041 1120 INTGO, TAD [200 001042 6034 KRS 001043 1375 TAD M203 001044 7650 SNA CLA /IS THERE A ^C IN THE READER BUFFER 001045 6031 KSF /WITH THE FLAG ON? 001046 5433 JMP I ERRET /NO - PRINT CRLF AND PERIOD 001047 5306 JMP CLR /V3D 001050 1717 RTWTPT, RUNTWT 001051 0400 DCBF, 400 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 18 7765 PMSRST, RELOC 7765 /MSWITC+1 007765* 4207 JMS SHNDLR 007766* 0300 0300 007767* 7000 7000 007770* 0035 MTEMP+6 IFNZRO .-7771 <SEE78, ______> 007771* 7402 HLT /CONTAINS SECOND COPY OF OS/78 BIT 007772* 6042 TCF /REVERSED FOR KT8A 007773* 6203 CDF CIF 0 1061 RELOC 001061 7764 MVCNT, MOVBUF-MVT3-1 001062 7626 PDBUF, MOVBUF 7626 MVFROM, RELOC 7626 007626* 7777 MOVBUF, 7777 /USED IN BATCH SETUP 007627* 1637 TAD I MVT1 /MOVE THE LINE BUFFER FROM 1000 007630* 3640 DCA I MVT2 /TO 1655 007631* 2237 ISZ MVT1 007632* 2240 ISZ MVT2 007633* 2241 ISZ MVT3 007634* 5227 JMP .-5 007635* 6203 CIF CDF 0 007636* 5626 JMP I MOVBUF 007637* 1000 MVT1, BEGLN 007640* 1652 MVT2, SVLNBF 007641* 7667 MVT3, -111 1077 RELOC IFNZRO .-1077 <SEESET, ______> 001077 6211 INIT, CDF 10 /V3D (INITIALIZATION) 001100 1251 TAD DCBF 001101 3741 DCA I ROT /RESTORE LOC 7677 TO '400' 001102 6201 CDF 0 001103 3205 DCA KMINIT /END LINE WITH 0 001104 6046 TLS 001105 5766 JMP I CRLF /FAKE OUT KBM AS IF USER TYPED @INIT 001106 6032 CLR, KCC 001107 5710 JMP I .+1 001110 1273 CTRLC 001111 0212 TX212, 212 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 19 001112 1413 DIGTLP, TAD I LXR 001113 1377 STRTX, TAD (-270 001114 7100 CLL 001115 1112 TAD [10 001116 3042 DCA TMP1 /V3 001117 7420 SNL 001120 5330 JMP EONUM /V3 ISZ DIGFLG 001121 4341 JMS ROT 001122 4341 JMS ROT 001123 4341 JMS ROT 001124 1021 TAD TEMP2 001125 1042 TAD TMP1 001126 3021 DCA TEMP2 001127 5312 JMP DIGTLP 001130 1040 EONUM, TAD TEMP1 001131 0111 AND [7 001132 7106 CLL RTL 001133 7004 RAL 001134 1357 TAD KM6203 001135 3544 DCA I [MSTCDF 001136 1021 TAD TEMP2 001137 5740 JMP I .+1 001140 0616 STCOMN 001141 7677 ROT, 7677 /V3D NEEDED FOR INIT 001142 1021 TAD TEMP2 001143 7104 CLL RAL 001144 3021 DCA TEMP2 001145 1040 TAD TEMP1 001146 7004 RAL 001147 3040 DCA TEMP1 001150 5741 JMP I ROT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 20 001151 0000 MINCOR, 0 001152 6212 CIF 10 001153 4422 JMS I SYSTEM 001154 0010 10 001155 6211 CDF 10 001156 3511 DCA I [OLDT9 /ZERO OUT "DIRECTORY IN CORE" KEY 001157 6203 KM6203, CIF CDF 0 001160 1120 TAD [200 001161 3022 DCA SYSTEM 001162 5751 JMP I MINCOR 001163 6211 ASDONE, CDF 10 001164 3441 DCA I TM1 001165 5510 JMP I [ASRET 001166 0404 CRLF, KEYMON+1 /V3D NEEDED FOR INIT 001167 1107 TAD [215 001170 3034 DCA NM1 001171 4776 JMS I (PRNT 001172 1311 TAD TX212 001173 4423 JMS I PCH 001174 5766 JMP I CRLF 001175 7575 M203, -203 001176 1262 001177 7510 1200 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 21 /NOTE: XR=AMFLAG ! /TELETYPE INPUT ROUTINE 001200 0404 XGLINE, KEYMON+1 /MUST BE AT 1200 FOR BATCH & CCL 001201 1106 TAD [". 001202 4423 JMS I PCH 001203 3020 DCA RBFLAG 001204 1163 TAD [BEGLN-1 001205 3013 CHLM1, DCA LXR 001206 3017 DCA AMFLAG /ZERO ALTMODE FLAG 001207 6031 CHLOOP, KSF 001210 5207 JMP CHLOOP 001211 1120 TAD [200 001212 6034 KRS 001213 3034 DCA NM1 001214 6032 KCC 001215 4327 JMS SRCH 001216 7553 -225;CTRLU 001217 1273 001220 7563 -215;CARRET 001221 1252 001222 7401 -377;RUBOUT /**THIS AREA GETS MODIFIED BY SET** 001223 1307 001224 7403 -375;ALTMOD /-223;CHLOOP 001225 1302 001226 7402 -376;ALTMOD /-221;CHLOOP 001227 1302 001230 7545 -233;ALTMOD 001231 1302 001232 7566 -212;LFEED 001233 1344 001234 7600 -200;CHLOOP 001235 1207 001236 7561 -217;CHLOOP /IGNORE ^O 001237 1207 001240 7575 -203;CTRLC /MUST BE JUST BEFORE 0 001241 1273 /MUST BE HERE FOR CCL 001242 0000 0 001243 4262 JMS PRNT 001244 1034 CINSRT, TAD NM1 001245 3413 DCA I LXR 001246 1013 TAD LXR 001247 1105 TAD [-BEGLN-110 001250 7710 SPA CLA 001251 5207 JMP CHLOOP 001252 4564 CARRET, JMS I [CRLF 001253 1013 TAD LXR 001254 1104 TAD [1-BEGLN 001255 7650 SNA CLA /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 21-1 001256 5201 JMP XGLINE+1 001257 3413 DCA I LXR 001260 3413 DCA I LXR IFNZRO .-1261 <BTCHER, ______> 001261 5600 JMP I XGLINE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 22 /THIS PAGE GETS MODIFIED BY SET COMMANDS (FOR REAL SCOPE RUBOUTS) /**** BEWARE! *** 001262 0000 PRNT, 0 001263 2020 ISZ RBFLAG 001264 5267 JMP .+3 001265 1361 TAD BSLSH /"\ CONSTANT FOR SET =1361 001266 4423 JMS I PCH 001267 3020 DCA RBFLAG 001270 1034 TAD NM1 001271 4423 JMS I PCH 001272 5662 JMP I PRNT CTRLC, 001273 1103 CTRLU, TAD ["^ 001274 4423 JMS I PCH 001275 1034 TAD NM1 001276 1102 TAD [100 001277 4423 CLRLIN, JMS I PCH 001300 4564 RBSPCL, JMS I [CRLF 001301 5201 JMP XGLINE+1 IFNZRO .-1302 <SEESET, ______> 001302 1101 ALTMOD, TAD ["$ 001303 3034 DCA NM1 001304 4262 JMS PRNT 001305 2017 ISZ AMFLAG /NOTE ALTMODE 001306 5252 JMP CARRET /WHY NOT GIVE CR? 001307 1013 RUBOUT, TAD LXR 001310 1104 TAD [1-BEGLN 001311 7650 SNA CLA 001312 5300 JMP RBSPCL /*** SET STUFF *** 001313 1361 TAD BSLSH /BSPC, 210 001314 2020 ISZ RBFLAG / TAD BSPC 001315 4423 JMS I PCH 001316 7240 CLA CMA / TAD LBCKUP 001317 3020 DCA RBFLAG / JMS I PCH 001320 1013 TAD LXR 001321 3040 DCA TEMP1 001322 1440 TAD I TEMP1 / TAD BSPC 001323 4423 JMS I PCH 001324 7240 LBCKUP, CLA CMA 001325 1013 TAD LXR 001326 5205 JMP CHLM1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 23 001327 0000 SRCH, 0 001330 1727 TAD I SRCH 001331 2327 ISZ SRCH 001332 7450 SNA 001333 5727 JMP I SRCH 001334 1034 TAD NM1 001335 7650 SNA CLA 001336 5341 JMP SFND 001337 2327 ISZ SRCH 001340 5330 JMP SRCH+1 001341 1727 SFND, TAD I SRCH 001342 3040 DCA TEMP1 001343 5440 JMP I TEMP1 001344 4564 LFEED, JMS I [CRLF 001345 3413 DCA I LXR 001346 1106 TAD [". 001347 4423 JMS I PCH 001350 1163 TAD [BEGLN-1 001351 3017 DCA XR 001352 1417 TAD I XR 001353 7450 SNA 001354 5324 JMP LBCKUP 001355 4423 JMS I PCH 001356 5352 JMP .-4 IFNZRO .-1357 <SEECCL,______> 001357 4513 PRQMRK, JMS I [PRNAME 001360 5500 JMP I [PRINTQ 001361 0334 BSLSH, "\ IFNZRO .-1362 <FIXCCL,______> 001362 1077 GETCCL, TAD [6003 001363 4557 JMS I [RESET 001364 1076 TAD [CCLREC /CCL OVERLAY BLOCK IS BLOCK 67 *** 001365 3375 DCA OV 001366 5372 JMP DATE2 001367 1031 DATE, TAD TMP 001370 7650 SNA CLA 001371 5475 JMP I [CCLSW-1 /USED TO BE JMP GETCCL 001372 4570 DATE2, JMS I [SHNDLR /READ IN DATE OVERLAY 001373 0201 0201 001374 0400 CSOVLY IFNZRO .-1375 <SEECCL, ______> 001375 0055 OV, MSOVL2 001376 5003 JMP KMONER 001377 5474 JMP I [DATEXX 1400 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 24 001400 1413 SAVE2, TAD I LXR 001401 7650 SNA CLA /ARE THERE ANY ARGS? 001402 5211 JMP SAVE2A /NO ... USE CCB 001403 4570 JMS I [SHNDLR /READ IN ARG OVERLAY 001404 0201 0201 001405 0400 CSOVLY 001406 0054 MSOVLY 001407 5003 JMP KMONER 001410 5660 JMP I CCBTST /GO TO IT 001411 4570 SAVE2A, JMS I [SHNDLR 001412 0201 0201 001413 0400 CSOVLY 001414 0037 MTEMP+10 001415 5003 JMP KMONER 001416 1073 SAVE3, TAD [603 001417 3017 DCA XR 001420 3013 DCA LXR /INITIALIZE FOR GT32K I.D. 001421 1474 TAD I [600 001422 4525 JMS I [CCBTST 001423 4570 JMS I [SHNDLR 001424 0101 0101 001425 0400 CSOVLY 001426 0055 MSOVL2 001427 5003 JMP KMONER 001430 5705 JMP I GETOUT 001431 4432 SAV2X, JMS I PGTOUT 001432 1474 TAD I [600 /UPDATE THE SEGMENT COUNT BY 001433 7104 CLL RAL /FIRST,MAKING SURE 4000 BIT IS SET 001434 7130 STL RAR 001435 7041 CIA 001436 1052 TAD MERTST /SUBTRACT # OF GT32K SEGS THIS ALLOW US TO BYPASS... 001437 7041 CIA 001440 3051 DCA EXTMP /SAVE COUNT FOR GT32K 001441 1051 TAD EXTMP 001442 7041 CIA 001443 7104 CLL RAL /WE WANT TO BUMP COUNTER TWICE FOR EVERY SEG 001444 1073 TAD [603 /ADD POINTER TO INITIAL SEGMENT 001445 3017 DCA XR 001446 5777 JMP I (XLOD 001447 4567 KMER4, JMS I [PRMESG IFDEF GERMAN < TEXT /ANGABEN FEHLEN/> 001450 2417 IFNDEF GERMAN < TEXT /TOO FEW PARAMS/> 001451 1740 001452 0605 001453 2740 001454 2001 001455 2201 001456 1523 001457 0000 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 25 001460 0400 CCBTST, SAVE1A /EXAMINE COUNT WORD OF CCB FOR VALIDITY /ASCII AND BINARY FILES USUALLY FAIL THIS TEST 001461 7104 CLL RAL /INSURES 4000 BIT IS SET--128K INDICATOR 001462 7130 STL RAR 001463 3051 DCA EXTMP 001464 6200 LXM /INITIALIZE EXTENDED MEMORY 001465 1051 TAD EXTMP 001466 7040 CMA 001467 0175 AND [7740 001470 7650 SNA CLA 001471 5660 JMP I CCBTST /IT WAS VALID 001472 1165 CIERR, TAD [7605 001473 3033 DCA ERRET /RELOAD MONITOR ON THIS ERROR 001474 4567 JMS I [PRMESG /IT WASN'T - TELL THE USER IFDEF GERMAN < TEXT /KEINE.SV-DATEI/> 001475 0317 IFNDEF GERMAN < TEXT /CORE IMAGE ERR/> 001476 2205 001477 4011 001500 1501 001501 0705 001502 4005 001503 2222 001504 0000 001505 0462 GETOUT, SAVE3A /SUBROUTINE TO KICK MONITOR OUT IF NECESSARY 001506 1573 TAD I [JSBITS 001507 7010 RAR 001510 7200 CLA 001511 1022 TAD SYSTEM 001512 7730 SZL SPA CLA /IS THE SYSTEM IN CORE AND SHOULD IT BE? 001513 5705 JMP I GETOUT 001514 6212 CIF 10 /YES AND NO - KICK IT OUT 001515 4422 JMS I SYSTEM 001516 0011 11 /BYE BYE 001517 1166 TAD [7700 001520 3022 DCA SYSTEM 001521 5705 JMP I GETOUT 001522 4332 KMER2, JMS PRNAME 001523 4567 JMS I [PRMESG IFDEF GERMAN < TEXT / NICHT DA /> 001524 4016 IFNDEF GERMAN < TEXT / NOT FOUND/> 001525 1724 001526 4006 001527 1725 001530 1604 001531 0000 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 26 001532 0000 PRNAME, 0 001533 1034 TAD NM1 001534 4472 JMS I [PRWD 001535 1035 TAD NM2 001536 4472 JMS I [PRWD 001537 1036 TAD NM3 001540 4472 JMS I [PRWD 001541 1037 TAD NM4 001542 7650 SNA CLA 001543 5732 JMP I PRNAME 001544 1106 TAD [256 001545 4471 JMS I [PCHAR 001546 1037 TAD NM4 001547 4472 JMS I [PRWD 001550 5732 JMP I PRNAME 001551 0000 RESET, 0 001552 3573 DCA I [JSBITS /MARK AREAS FOR I/O OPTOMIZATION 001553 4556 JMS I [MINCOR 001554 6212 CIF 10 001555 4422 JMS I SYSTEM 001556 0013 13 /RESET DEVICE HANDLERS AND OUTPUT FILES 001557 5751 JMP I RESET 001560 4567 SVXER, JMS I [PRMESG IFDEF GERMAN < TEXT /.SA FEHLER/> 001561 2301 IFNDEF GERMAN < TEXT /SAVE ERROR/> 001562 2605 001563 4005 001564 2222 001565 1722 001566 0000 001567 4567 KMER5, JMS I [PRMESG IFDEF GERMAN < TEXT /?SYNTAX?/> 001570 0201 IFNDEF GERMAN < TEXT /BAD ARGS/> 001571 0440 001572 0122 001573 0723 001574 0000 001577 0534 1600 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 27 001600 1441 RUN6, TAD I TM1 /STORE CONTROL WORD FOR LAST SEG. 001601 3536 DCA I [MREAD+1 001602 1046 TAD RUNSW /IS THIS R OR RUN? 001603 7650 SNA CLA 001604 4514 JMS I [WRCTLB /RUN 001605 1627 TAD I RFILE /V3D FOR LINKER 001606 3736 DCA I RCTL /V3D SAVE BLOCK NUMBER IN 'SOFSET' 001607 1627 TAD I RFILE 001610 7001 RUN7, IAC 001611 3340 DCA RUNFIL /STORE STARTING BLOCK NUMBER 001612 1026 RUN7A, TAD DEVHND 001613 3537 DCA I [MREAD-1 001614 1026 TAD DEVHND 001615 3366 DCA RUNHND /STORE DEVICE HANDLER ENTRY IN THIS PAGE 001616 1050 TAD SENTER 001617 3574 DCA I [SBLOCK /STORE DEV NUMBER FOR CHAINING 001620 1415 TAD I ADR1 001621 3416 DCA I ADR2 001622 2226 ISZ ADCNT 001623 5220 JMP .-3 001624 5625 JMP I .+1 001625 7512 RUN8&177+CCB 001626 7712 ADCNT, RUN8&177-200 001627 0656 RFILE, FILE 001630 0000 CHK32, 0 /PROTECTS MONITOR FROM GREATER THAN 32K FIELD 0 LOAD 001631 1643 TAD I RCTL1 001632 0242 AND T76A /ISOLATE CDEB BITS FOR FUTURE USE 001633 3301 DCA CDE 001634 1643 TAD I RCTL1 001635 0166 AND [7700 /LOAD EVERY FIELD INTO FIELD 4 001636 1241 TAD T40 /WE'LL BUMP IT UP FROM THERE---LATER 001637 3643 DCA I RCTL1 001640 5630 JMP I CHK32 001641 0040 T40, 40 001642 0076 T76A, 76 001643 7536 RCTL1, RCTL&177+CCB /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 28 1652 SVLNBF= 1652 /LOCATIONS SVLNBF TO SVLNBF+111 DESTROYED BY THE LINE BUFFER DURING A SAVE 001644 0000 MOVUP, 0 /SUBROUTINE TO MOVE UP PROGRAM CODE 001645 1643 TAD I RCTL1 001646 0070 AND [3700 /CALCULATE THE NUMBER OF LOCS 001647 7104 CLL RAL 001650 7041 CIA 001651 3303 DCA COUNT /STORE IT HERE 001652 1301 TAD CDE /PREPARE FOR CDF TO PROPER BANK & FIELD 001653 7112 CLL RTR 001654 7430 SZL 001655 1302 TAD TX20 001656 7106 CLL RTL 001657 1300 TAD T6201 /STORE IT IN EXTEND 001660 3272 DCA EXTEND 001661 7240 STA 001662 1704 TAD I RADR1 /INITIALIZE THE INDEX REGS 001663 3015 DCA ADR1 001664 1015 TAD ADR1 001665 3016 DCA ADR2 001666 1177 TAD [7000 /SET EXTENDED MEMORY 001667 6200 LXM 001670 6241 BACK, CDF 40 /MAKE THE MOVE 001671 1415 TAD I ADR1 001672 0000 EXTEND, 0 001673 3416 DCA I ADR2 001674 2303 ISZ COUNT 001675 5270 JMP BACK 001676 6201 CDF 0 001677 5644 JMP I MOVUP 001700 6201 T6201, 6201 001701 0000 CDE, 0 001702 0020 TX20, 20 001703 0000 COUNT, 0 001704 7537 RADR1, RADR&177+CCB /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 29 1712 *1712 001712 2363 RUN8, ISZ RUNCNT /IS THIS THE LAST PARAMETER PAIR? 001713 5322 JMP RUN9 /NO - KEEP LOADING 001714 1340 TAD RUNFIL 001715 3764 DCA I RMRD3 /MOVE THE RECORD NUMBER INTO THE FINAL READ 001716 6041 TSF 001717 5316 RUNTWT, JMP .-1 /WAIT FOR THE TELETYPE TO DIE DOWN (RF08 IS FAST!) 001720 5721 JMP I .+1 001721 7757 MREAD /READ THE LAST SEGMENT AND START UP 001722 1762 RUN9, TAD I RUNADR 001723 3337 DCA RADR /SET UP THE LOADING ADDRESS OF THE CURRENT SEGMENT 001724 2362 ISZ RUNADR 001725 1762 TAD I RUNADR 001726 3336 DCA RCTL /AND THE READ CONTROL WORD 001727 1336 TAD RCTL 001730 0360 AND TS7 /TEST FOR GREATER THAN 32K 001731 7450 SNA 001732 3353 DCA HF3 001733 7640 SZA CLA 001734 4754 JMS I CH32 001735 4766 JMS I RUNHND 001736 7747 RCTL, SOFSET /V3D THESE ARE STORED INTO ONLY AFTER MOVING 001737 7771 RADR, OS78 /V3D 001740 0000 RUNFIL, 0 001741 5356 JMP RERR /INPUT ERROR READING THE PROGRAM 001742 1353 TAD HF3 /IF GREATER THAN 32K 001743 7640 SZA CLA 001744 4755 JMS I MOVUPT /LOAD HIGHER FIELDS 001745 1336 TAD RCTL 001746 4367 JMS ROTAT /GET THE BLOCK LENGTH OF THIS SEGMENT 001747 1340 TAD RUNFIL 001750 3340 DCA RUNFIL /UPDATE THE BLOCK NUMBER FROM IT 001751 2362 ISZ RUNADR 001752 5312 JMP RUN8 /BACK FOR ANOTHER ONE 001753 7777 HF3, -1 001754 1630 CH32, CHK32 001755 1644 MOVUPT, MOVUP 001756 6212 RERR, CIF 10 001757 4765 JMS I RU7700 001760 0007 TS7, 7 001761 0000 0 /TOTALLY MEANINGLESS 001762 7404 RUNADR, CCB+4 001763 0000 RUNCNT, 0 001764 7762 RMRD3, MREAD+3 001765 7700 RU7700, 7700 001766 0000 RUNHND, 0 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 30 IFNZRO ROTAT-SVLNBF-111&4000 <ERROR> 1767 *1767 /MUST BE AT TOP OF PAGE 001767 0000 ROTAT, 0 001770 7002 BSW 001771 0377 AND RU37 001772 7450 SNA 001773 1377 TAD RU37 001774 7001 IAC 001775 7110 CLL RAR 001776 5767 JMP I ROTAT 001777 0037 RU37, 37 1600 RELOC RUN6 1600 PAGE 2000 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 31 /OVERLAY TO KEYBOARD MONITOR FOR "SAVE" WITH ARGUMENTS 0400 RELOC CSOVLY /GOES INTO 400 000400* 1067 SAVE1A, TAD [1603 000401* 3014 DCA X1 000402* 3041 DCA TM1 000403* 6211 CDF 10 000404* 3511 DCA I [OLDT9 000405* 6203 S6203, CIF CDF 0 000406* 1377 TAD (SGETOUT /POINTER TO NEW GETOUT 000407* 3032 DCA PGTOUT /LIKEWISE "GETOUT" 000410* 4570 JMS I [SHNDLR 000411* 0210 0210 000412* 1400 CCOVLY 000413* 0037 MTEMP+10 /READ IN CONTROL BLOCK 000414* 5003 JMP KMONER 000415* 4776 JMS I (LXRBAK /RESET LXR TO LOOK AT FIRST CHAR 000416* 4776 JMS I (LXRBAK 000417* 3332 DCA DASHFG 000420* 4335 SNUMLP, JMS SGTNUM 000421* 5260 JMP SDLOOK /NO NUMBER - GET DELIMETER 000422* 1413 TAD I LXR 000423* 1375 TAD (-"- 000424* 7650 SNA CLA 000425* 5276 JMP SVDASH 000426* 4776 JMS I (LXRBAK 000427* 1332 TAD DASHFG 000430* 7650 SNA CLA /WAS THERE A LOWER LIMIT? 000431* 4322 JMS DASHSB /NO - SET LOWER LIMIT TO UPPER LIMIT 000432* 1040 TAD TEMP1 000433* 7161 CIA CLL CML 000434* 1333 TAD OLD1 000435* 7640 SZA CLA /ARE THE FIELDS THE SAME? 000436* 5774 JMP I (KMER5 /NO - ERROR 000437* 1021 TAD TEMP2 000440* 0121 AND [7600 000441* 1120 TAD [200 000442* 3021 DCA TEMP2 000443* 1021 TAD TEMP2 000444* 7041 CIA 000445* 1334 TAD OLD2 000446* 7630 SZL CLA /IS UPPER LIMIT > LOWER LIMIT? 000447* 5774 JMP I (KMER5 /NO - ERROR 000450* 6211 CDF 10 000451* 1333 TAD OLD1 000452* 3414 DCA I X1 000453* 1334 TAD OLD2 000454* 3414 DCA I X1 000455* 1021 TAD TEMP2 000456* 3414 DCA I X1 /CREATE A TRIPLET(FIELD, LOW LIMIT, HIGH LIMIT) /IN THE TABLE IN FIELD 1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 31-1 000457* 2041 ISZ TM1 /BUMP ENTRY COUNT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 32 000460* 6201 SDLOOK, CDF 0 000461* 1413 TAD I LXR 000462* 7450 SNA 000463* 5773 JMP I (SVEND 000464* 1372 TAD (-", 000465* 7450 SNA 000466* 5217 JMP SNUMLP-1 000467* 1135 TAD [",-"; 000470* 7450 SNA 000471* 5304 JMP SSTADR 000472* 1174 TAD [";-"= 000473* 7650 SNA CLA 000474* 5771 JMP I (SSBITS 000475* 5774 JMP I (KMER5 000476* 1332 SVDASH, TAD DASHFG 000477* 7640 SZA CLA 000500* 5774 JMP I (KMER5 000501* 2332 ISZ DASHFG 000502* 4322 JMS DASHSB 000503* 5220 JMP SNUMLP 000504* 4335 SSTADR, JMS SGTNUM 000505* 5774 JMP I (KMER5 /NULL STARTING ADR - ERROR 000506* 1040 TAD TEMP1 /TRANSFORM FOR CDF --"37" TO "174"-128K 000507* 7112 CLL RTR 000510* 7012 RTR /CDE/000/000/00A/ B 000511* 7002 BSW /000/00A/CDE/000/ B 000512* 7430 SZL /"B" BIT ON? 000513* 1066 TAD [4 /000/00A/CDE/B00 000514* 1205 TAD S6203 000515* 6211 CDF 10 000516* 3770 DCA I (1601 /STORE AWAY STARTING FIELD 000517* 1021 TAD TEMP2 000520* 3767 DCA I (1602 /AND STARTING ADDRESS 000521* 5260 JMP SDLOOK 000522* 0000 DASHSB, 0 000523* 1040 TAD TEMP1 000524* 0366 AND (37 /ISOLATE FIELD( & BANK) 000525* 3333 DCA OLD1 000526* 1021 TAD TEMP2 000527* 0121 AND [7600 000530* 3334 DCA OLD2 000531* 5722 JMP I DASHSB 000532* 0000 DASHFG, 0 000533* 0000 OLD1, 0 000534* 0000 OLD2, 0 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 33 000535* 0000 SGTNUM, 0 /GET A NUMBER ROUTINE 000536* 3047 DCA DIGFLG /CLEAR DIGIT COLLECTED FLAG 000537* 3040 DCA TEMP1 000540* 3021 DCA TEMP2 000541* 4765 JMS I (STARTX 000542* 5346 JMP .+4 000543* 1364 TAD (20 000544* 7650 SNA CLA 000545* 5341 JMP .-4 000546* 4776 JMS I (LXRBAK /SHOVE INDEX BACK 000547* 1047 TAD DIGFLG /IS DIGIT PRESENT? 000550* 7640 SZA CLA 000551* 2335 ISZ SGTNUM 000552* 5735 JMP I SGTNUM 000564* 0020 000565* 0713 000566* 0037 000567* 1602 000570* 1601 000571* 0600 000572* 7524 000573* 0606 000574* 1567 000575* 7523 000576* 0751 000577* 0542 0600 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 34 000600* 4777 SSBITS, JMS I (SGTNUM 000601* 5776 JMP I (KMER5 000602* 1021 TAD TEMP2 000603* 6211 CDF 10 000604* 3467 DCA I [1603 000605* 5775 JMP I (SDLOOK 000606* 4570 SVEND, JMS I [SHNDLR 000607* 0101 0101 000610* 0400 CSOVLY 000611* 0055 MSOVL2 /READ IN SECOND PART OF OVERLAY 000612* 5003 JMP KMONER 000613* 1041 TAD TM1 000614* 7450 SNA 000615* 5774 JMP I (MOVECB 000616* 7041 CIA 000617* 6211 CDF 10 000620* 3517 DCA I [1600 000621* 1067 TAD [1603 /NOW SORT THE ENTRIES IN THE SEGMENT TABLE ON 000622* 3311 DCA P1 /DECREASING FIELD AND INCREASING ADDRESS 000623* 7201 CLA IAC /WITHIN THE FIELD. 000624* 1517 TAD I [1600 000625* 7450 SNA 000626* 5356 JMP SORTED /RIDICULOUS TO SORT ONE ITEM 000627* 3040 DCA TEMP1 000630* 1373 OUTRLP, TAD (3 000631* 1311 TAD P1 000632* 3312 DCA P2 000633* 1040 TAD TEMP1 000634* 3021 DCA TEMP2 000635* 1311 INERLP, TAD P1 000636* 3013 DCA LXR 000637* 1312 TAD P2 000640* 3014 DCA X1 000641* 1413 TAD I LXR 000642* 7141 CIA CLL 000643* 1414 TAD I X1 000644* 7650 SNA CLA 000645* 5263 JMP TIE /FIELDS ARE EQUAL - SORT ON ADDRESS IN FIELD 000646* 7430 SZL 000647* 5270 JMP SWITCH /WRONG ORDER - SWITCH 'EM 000650* 1312 TIENTY, TAD P2 000651* 1373 TAD (3 000652* 3312 DCA P2 /INDEX TO NEXT ENTRY 000653* 2021 SWNTRY, ISZ TEMP2 000654* 5235 JMP INERLP 000655* 1311 TAD P1 000656* 1373 TAD (3 000657* 3311 DCA P1 /ELEMENT IS IN PLACE - GO TO NEXT POSITION 000660* 2040 ISZ TEMP1 000661* 5230 JMP OUTRLP /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 34-1 000662* 5356 JMP SORTED /SORT COMPLETE - CHECK FOR CONSISTENCY /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 35 000663* 1413 TIE, TAD I LXR 000664* 7141 CIA CLL 000665* 1414 TAD I X1 000666* 7630 SZL CLA /TEST FOR ADRESSES IN ASCENDING ORDER 000667* 5250 JMP TIENTY /YES - DONT HAVE TO SWAP 000670* 4277 SWITCH, JMS SWSUBR 000671* 4277 JMS SWSUBR 000672* 4277 JMS SWSUBR 000673* 7346 CLA CLL CMA RTL 000674* 1311 TAD P1 000675* 3311 DCA P1 /RESET FIRST POINTER 000676* 5253 JMP SWNTRY /AND DONT BUMP 2D POINTER, AS WE HAVE JUST BUMPED IT 000677* 0000 SWSUBR, 0 000700* 2311 ISZ P1 000701* 2312 ISZ P2 000702* 1711 TAD I P1 000703* 3041 DCA TM1 000704* 1712 TAD I P2 000705* 3711 DCA I P1 000706* 1041 TAD TM1 000707* 3712 DCA I P2 000710* 5677 JMP I SWSUBR 000711* 0000 P1, 0 000712* 0000 P2, 0 000713* 0000 STARTX, 0 000714* 1413 TAD I LXR /ANYTHING LEFT? 000715* 7450 SNA 000716* 5713 JMP I STARTX /NO.. TAKE EMPTY RETURN 000717* 7410 SKP 000720* 1413 ADGTLP, TAD I LXR 000721* 1372 TAD (-270 000722* 7100 CLL /SEE IF THIS IS A DIGIT 000723* 1112 TAD [10 000724* 7420 SNL 000725* 5337 JMP AONUM /NO.. GET OUT 000726* 3042 DCA TMP1 000727* 2047 ISZ DIGFLG 000730* 4341 JMS ROT2 000731* 4341 JMS ROT2 000732* 4341 JMS ROT2 000733* 1021 TAD TEMP2 000734* 1042 TAD TMP1 000735* 3021 DCA TEMP2 000736* 5320 JMP ADGTLP /KEEP LOOKING 000737* 2313 AONUM, ISZ STARTX 000740* 5713 JMP I STARTX /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 36 000741* 0000 ROT2, 0 000742* 1021 TAD TEMP2 000743* 7104 CLL RAL /WE NEED THIS BECAUSE THE HANDLER 000744* 3021 DCA TEMP2 /WIPED THE FIRST COPY (MAYBE!!!) 000745* 1040 TAD TEMP1 000746* 7004 RAL 000747* 3040 DCA TEMP1 000750* 5741 JMP I ROT2 000751* 0000 LXRBAK, 0 000752* 7240 CLA CMA 000753* 1013 TAD LXR 000754* 3013 DCA LXR 000755* 5751 JMP I LXRBAK 000756* 1517 SORTED, TAD I [1600 000757* 7001 IAC 000760* 7450 SNA 000761* 5771 JMP I (MERGED 000762* 3040 DCA TEMP1 000763* 1067 TAD [1603 000764* 3014 DCA X1 000765* 1370 TAD (1606 000766* 3013 DCA LXR 000767* 5465 JMP I [MRGLP 000770* 1606 000771* 0441 000772* 7510 000773* 0003 000774* 0450 000775* 0460 000776* 1567 000777* 0535 1000 PAGE 2400 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 37 0400 RELOC CSOVLY /LOADS INTO 400 ON TOP OF SAVE1A /NOW CHECK THE SORTED FILE FOR CONSISTENCY /OVERLAPPING SEGMENTS ARE ERRORS, /ABUTTING SEGMENTS ARE TO BE CONDENSED IN /THE INTERESTS OF SPEED 000400* 1413 MRGLP, TAD I LXR 000401* 7041 CIA 000402* 1414 TAD I X1 000403* 7640 SZA CLA 000404* 5233 JMP NOCMPR /DIFFERENT FIELDS - INCOMPARABLE 000405* 2014 ISZ X1 000406* 1414 TAD I X1 000407* 7041 CIA 000410* 7100 CLL 000411* 1413 TAD I LXR 000412* 7650 SNA CLA 000413* 5220 JMP BUTTNG /UPPER LIMIT(2)=LOWER LIMIT(1) - ABUTTING SEGMENTS 000414* 7630 SZL CLA 000415* 5236 JMP NXTONE /UPPER LIM(2)<LOWER LIM(1) - NORMAL CASE 000416* 6201 CDF 0 /UPPER LIM(2) > LOWER LIM(1) - ERROR 000417* 5777 JMP I (KMER5 /BAD ARGS 000420* 7240 BUTTNG, CLA CMA 000421* 1014 TAD X1 000422* 3014 DCA X1 000423* 1413 TAD I LXR 000424* 3414 DCA I X1 /SET UPPER LIM(2) = UPPER LIM(1) 000425* 1014 TAD X1 000426* 1376 TAD (-1777 000427* 7640 SZA CLA 000430* 5223 JMP .-5 /AND COMPRESS OUT THE LOWER ENTRY 000431* 2517 ISZ I [1600 /DECREMENT THE ENTRY COUNT (CAN'T OVERFLOW) 000432* 5775 JMP I (SORTED /START OVER FROM BEGINNING 000433* 2014 NOCMPR, ISZ X1 000434* 2014 ISZ X1 000435* 2013 ISZ LXR 000436* 2013 NXTONE, ISZ LXR 000437* 2040 ISZ TEMP1 000440* 5200 JMP MRGLP /NOW ALL THAT REMAINS IS TO TRANSFORM OUR TRIPLETS /INTO THE FORMAT WHICH THE RUN LOADER EXPECTS; I.E. /DEVICE-HANDLER ARGUMENTS /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 38 000441* 6201 MERGED, CDF 0 /LOAD IN MERGED OVERLAY 000442* 4570 JMS I [SHNDLR 000443* 0100 0100 000444* 0600 CSOVLY+200 000445* 0064 MRESER 000446* 5003 JMP KMONER 000447* 5774 JMP I (MERGEX 000450* 1376 MOVECB, TAD (-1777 000451* 3052 DCA MERTST 000452* 5241 JMP MERGED 000453* 6211 CBMOVE, CDF 10 /FINAL CODE TO MOVE NEW CONTROL BLOCK 000454* 1413 TAD I LXR /INTO PAGE 600 OF FIELD 0 000455* 6201 CDF 0 000456* 3414 DCA I X1 000457* 2040 ISZ TEMP1 000460* 5253 JMP CBMOVE 000461* 5773 JMP I (SAVE3 /EXIT TO SAVE PROCESSOR 000462* 2017 SAVE3A, ISZ XR 000463* 1417 TAD I XR /GET THE I/O CONTROL WORD OF THIS SEGMENT 000464* 3016 DCA ADR2 /CAUTION AUTO-INDEX TEST FOR GREATER THAN 32K 000465* 1016 TAD ADR2 000466* 0111 AND [7 /ARE THERE ANY BANK BITS? 000467* 7640 SZA CLA 000470* 5301 JMP XTAT /NO- PROCEED AS NORMAL 000471* 1053 TAD SPTST /ONLY WANT TO ISOLATE FIRST FIELD 000472* 7650 SNA CLA /BELOW 32K 000473* 5301 JMP XTAT 000474* 1331 TAD CLENGT /SET UP FIRST FIELD I.D. 000475* 3013 DCA LXR /CAUTION AUTO-INDEX-SAVE BLOCK OFFSET 000476* 1051 TAD EXTMP /SAVE NUMBER OF SEGS LEFT 000477* 3052 DCA MERTST /... NEGATIVE OF # LEFT 000500* 3053 DCA SPTST /SET I.D. "SET" FLAG 000501* 1016 XTAT, TAD ADR2 000502* 4764 JMS I PROTAT /EXTRACT THE LENGTH FROM IT 000503* 1331 TAD CLENGT 000504* 3331 DCA CLENGT /UPDATE THE LENGTH OF THE FILE 000505* 2051 ISZ EXTMP 000506* 5262 JMP SAVE3A /LOOP FOR ALL SEGMENTS OF THE FILE 000507* 1331 TAD CLENGT /USE THIS LENGTH WHEN ENTERING THE FILE 000510* 7106 CLL RTL 000511* 7006 RTL 000512* 1050 TAD SENTER 000513* 6212 CIF 10 000514* 4422 JMS I SYSTEM 000515* 0003 3 /ENTER 000516* 0034 SFILE, NM1 000517* 0000 0 /LENGHT UNIMPORTANT 000520* 5772 JMP I (SVXER /SAVERR CODE REPEATED /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 39 000521* 6213 CIF CDF 10 000522* 1464 TAD I [DVHREC 000523* 6201 CDF 0 000524* 3463 DCA I [LDBLK 000525* 1050 TAD SENTER 000526* 4422 JMS I SYSTEM 000527* 0004 4 /CLOSE 000530* 0034 NM1 /NAME FOR "CLOSE" 000531* 0001 CLENGT, 1 /CLOSING LENGTH 000532* 5772 JMP I (SVXER 000533* 5771 JMP I (SAV2X 000534* 4570 XLOD, JMS I [SHNDLR 000535* 0201 0201 000536* 1200 XGLINE 000537* 0064 MRESER 000540* 5003 JMP KMONER 000541* 5770 JMP I (SAVXX /JMP T0 1400 000542* 0000 SGETOUT,0 /REPLACES "GETOUT" WHICH WE'VE STORED OVER 000543* 1573 TAD I [JSBITS 000544* 7004 RAL /ONLY PERFORMS THOSE FUNCTIONS THAT "SAVE" NEEDS 000545* 7710 SPA CLA 000546* 5742 JMP I SGETOUT 000547* 6212 CIF 10 000550* 4422 JMS I SYSTEM 000551* 0011 11 000552* 5742 CNV, JMP I SGETOUT /CNV ONLY CALLED BY NEXT PAGE 000553* 0171 AND [77 000554* 7450 SNA 000555* 5362 JMP NUL 000556* 1367 TAD (-60 000557* 7500 SMA 000560* 2352 ISZ CNV /SECOND RETURN OK 000561* 5752 JMP I CNV 000562* 1041 NUL, TAD TM1 000563* 5766 JMP I (GODE 000564* 1767 PROTAT, ROTAT 000566* 0723 000567* 7720 000570* 1400 000571* 1431 000572* 1560 000573* 1416 000574* 0664 000575* 0756 000576* 6001 000577* 1567 0600 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 40 /DATE PROCESSOR - LOADS IN 400, RUNS IN 600 000600* 4273 DATEXX, JMS DECIM 000601* 0204 NUM1, AND DA37 000602* 3202 NUM2, DCA NUM2 000603* 4425 JMS I GNAME 000604* 0037 DA37, 37 /NOTHING FOUND WILL GIVE ERROR LATER 000605* 2275 NEWLUP, ISZ MONPTR 000606* 1675 TAD I MONPTR 000607* 2275 ISZ MONPTR 000610* 7450 SNA 000611* 5325 JMP BADNUM /SYMBOLIC MONTH NOT FOUND 000612* 1034 TAD NM1 000613* 1035 TAD NM2 000614* 7640 SZA CLA 000615* 5205 JMP NEWLUP /3 LETTER HASH DOESN'T MATCH 000616* 1675 TAD I MONPTR /GET MONTH NUMBER * 40 000617* 1202 TAD NUM2 000620* 7106 CLL RTL 000621* 7004 RAL 000622* 3202 DCA NUM2 000623* 3272 DCA DDELIM /MAKE END-OF-LINE THE DELIMITER 000624* 4273 JMS DECIM 000625* 1377 TAD (-106 /SCALE DOWN TO RANGE 1970-1999 000626* 7510 SPA 000627* 1376 TAD (144 /JMP BADNUM /DIDN'T MAKE THE RANGE 000630* 3201 DCA NUM1 000631* 1201 TAD NUM1 000632* 7106 CLL RTL 000633* 7006 RTL 000634* 0117 AND [1600 /ISOLATE EXTENSION DATE BITS 000635* 3041 DCA TM1 000636* 1775 TAD I (BIPCCL 000637* 0253 AND L6177 /STORE THEM INTO BITS RESERVED FOR THIS PURPOSE 000640* 1041 TAD TM1 000641* 3775 TSLUP, DCA I (BIPCCL 000642* 1201 TAD NUM1 000643* 0111 AND [7 000644* 1202 TAD NUM2 /COMBINE WITH MONTH AND DAY 000645* 6211 CDF 10 000646* 3774 DCA I (MDATE /STORE IN SYSTEM DATE CELL 000647* 6201 CDF 0 000650* 6041 TSF 000651* 4253 JMS L6177 /TIME OUT A BIT 000652* 5256 JMP DATEN /IN CASE RUNNING UNDER BATCH 000653* 6177 L6177, 6177 /JMS IS LONGER THAN JMP 000654* 2272 ISZ DDELIM /DDELIM IS 0 AT END 000655* 4241 JMS TSLUP /WAIT FOR TELETYPE TO DIE DOWN (RF08) /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 41 000656* 1017 DATEN, TAD AMFLAG /PRINT WEEKDAY IF ALTMODE 000657* 7650 SNA CLA 000660* 5565 JMP I [7605 /RETURN TO MONITOR 000661* 1165 DATERR, TAD [7605 000662* 3033 DCA ERRET /IN CASE CCL IS NOT THERE 000663* 3034 DCA NM1 000664* 4570 JMS I [SHNDLR /RELOAD PAGE 400 000665* 0100 0100 000666* 0400 CSOVLY 000667* 0010 10 000670* 5003 JMP KMONER 000671* 5475 JMP I [CCLSW-1 000672* 7523 DDELIM, -"- 000673* 0000 DECIM, 0 000674* 4425 JMS I GNAME 000675* 0734 MONPTR, MONS-1 /NOTHING THERE (LOGIC WILL CAUSE ERROR LATER) 000676* 1031 TAD TMP 000677* 1272 TAD DDELIM /COMPARE AGAINST DESIRED DELIMETER 000700* 7640 SZA CLA /DASH OR NULL 000701* 5261 JMP DATERR /DELIMETER BAD, GO TO CCL 000702* 1035 TAD NM2 /ONLY ALLOW 2 CHARS FOR MM 000703* 7640 SZA CLA 000704* 5325 JMP BADNUM 000705* 1034 TAD NM1 000706* 7002 BSW 000707* 4773 JMS I (CNV 000710* 5325 JMP BADNUM 000711* 3041 DCA TM1 000712* 1041 TAD TM1 000713* 7106 CLL RTL 000714* 1041 TAD TM1 000715* 7004 RAL 000716* 3021 DCA TEMP2 000717* 1034 TAD NM1 000720* 4773 JMS I (CNV 000721* 5325 JMP BADNUM 000722* 1021 TAD TEMP2 000723* 7440 GODE, SZA 000724* 5673 JMP I DECIM 000725* 7200 BADNUM, CLA /CRAP IN AC 000726* 1165 TAD [7605 000727* 3033 DCA ERRET 000730* 4567 JMS I [PRMESG IFDEF GERMAN < TEXT /DATUM?/> 000731* 7704 IFNDEF GERMAN < TEXT /?DATE?/> 000732* 0124 000733* 0577 000734* 0000 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 42 000735* 4777 MONS, -1201-1600 /JAN 000736* 0040 1^40 000737* 6773 -0605-0200 /FEB 000740* 0100 2^40 000741* 4077 -1501-2200 /MAR 000742* 0140 3^40 000743* 5460 -0120-2200 /APR 000744* 0200 4^40 000745* 3177 -1501-3100 /MAY 000746* 0240 5^40 000747* 4753 -1225-1600 /JUN 000750* 0300 6^40 000751* 5153 -1225-1400 /JUL 000752* 0340 7^40 000753* 6753 -0125-0700 /AUG 000754* 0400 10^40 000755* 3473 -2305-2000 /SEP 000756* 0440 11^40 000757* 3475 -1703-2400 /OCT 000760* 0500 12^40 000761* 3361 -1617-2600 /NOV 000762* 0540 13^40 000763* 7073 -0405-0300 /DEC 000764* 0600 14^40 / -1501-1100 /MAI / 5^40 / -1713-2400 /OKT / 12^40 / -0405-3200 /DEZ / 14^40 000765* 0000 0 000773* 0552 000774* 7666 000775* 7777 000776* 0144 000777* 7672 1000 PAGE 3000 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 43 1400 RELOC CCOVLY /MONITOR ERROR PROCESSOR - LOADS INTO 11400 001400* 0400 DLYLPX, AND I 0 001401* 7600 D7600, 7600 001402* 1057 TAD MERRNO 001403* 7104 CLL RAL 001404* 2777 ISZ I (ZERO 001405* 2777 ISZ I (ZERO /V3C 001406* 2777 ISZ I (ZERO 001407* 5200 JMP DLYLPX /WAIT FOR TELEPRINTER (WITHOUT CDF'S) 001410* 7450 SNA 001411* 5303 JMP USRERR 001412* 7110 CLL RAR 001413* 1376 TAD (4060 001414* 3775 DCA I (MERTYP 001415* 1374 MERCMN, TAD (MERRXR 001416* 4320 JMS EPRINT 001417* 1773 TAD I (FPUTX 001420* 7012 RTR 001421* 7010 RAR 001422* 0372 AND (7 001423* 1371 TAD (60 001424* 4311 JMS MERPCH 001425* 7344 CLA CLL CMA RAL 001426* 1770 TAD I (MONITO 001427* 7004 RAL 001430* 3041 DCA T1 001431* 1367 TAD (-4 001432* 3042 DCA T2 001433* 1041 MEROLP, TAD T1 001434* 7006 RTL 001435* 7004 RAL 001436* 3041 DCA T1 001437* 1041 TAD T1 001440* 0372 AND (7 001441* 1371 TAD (60 001442* 4311 JMS MERPCH 001443* 2042 ISZ T2 001444* 5233 JMP MEROLP /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 44 001445* 1057 TAD MERRNO 001446* 7104 CLL RAL 001447* 7450 SNA 001450* 5265 JMP NOEXPL /NO EXPLANATION FOR USER ERRORS 001451* 7110 CLL RAR 001452* 1366 TAD (EXPLTBL-1 /PRINT EXPLANATION 001453* 3041 DCA T1 /GET ADDRESS INTO MESSAGE TABLE 001454* 1365 TAD (240 001455* 4311 JMS MERPCH 001456* 1364 TAD ("( 001457* 4311 JMS MERPCH 001460* 1441 TAD I T1 /GET ADDRESS OF MESSAGE 001461* 4320 JMS EPRINT 001462* 1363 TAD (") 001463* 4311 JMS MERPCH 001464* 1057 TAD MERRNO 001465* 1362 NOEXPL, TAD (3773 001466* 7710 SPA CLA 001467* 7240 CLA CMA 001470* 3761 DCA I (7700 001471* 3007 DCA OLDT9 001472* 7330 CLA CLL CML RAR 001473* 3057 DCA MERRNO 001474* 6201 CDF 0 001475* 1760 TAD I (JSBITS 001476* 0357 AND (6777 001477* 1356 TAD (1000 001500* 3760 DCA I (JSBITS /SET THE CURRENT JOB UNSTARTABLE 001501* 6203 CDF CIF 0 001502* 5601 JMP I D7600 001503* 7300 USRERR, CLA CLL 001504* 4755 JMS I (FGET 001505* 1376 TAD (4060 001506* 3754 DCA I (UERTYP 001507* 1353 TAD (UERRXR-MERRXR 001510* 5215 JMP MERCMN 001511* 0000 MERPCH, 0 001512* 6046 TLS 001513* 6041 TSF 001514* 5313 JMP .-1 001515* 7200 CLA 001516* 5711 JMP I MERPCH 001517* 0000 ZERO, 0 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 45 001520* 0000 EPRINT, 0 001521* 3042 DCA T2 001522* 1442 EPRLUP, TAD I T2 001523* 7012 RTR 001524* 7012 RTR 001525* 7012 RTR 001526* 4333 JMS EPR 001527* 1442 TAD I T2 001530* 4333 JMS EPR 001531* 2042 ISZ T2 001532* 5322 JMP EPRLUP 001533* 0000 EPR, 0 001534* 0352 AND (77 001535* 7450 SNA 001536* 5720 JMP I EPRINT 001537* 1365 TAD (240 001540* 0352 AND (77 001541* 1365 TAD (240 001542* 4311 JMS MERPCH 001543* 5733 JMP I EPR 001552* 0077 001553* 0013 001554* 1623 001555* 0220 001556* 1000 001557* 6777 001560* 7746 001561* 7700 001562* 3773 001563* 0251 001564* 0250 001565* 0240 001566* 1626 001567* 7774 001570* 0200 001571* 0060 001572* 0007 001573* 0241 001574* 1600 001575* 1607 001576* 4060 001577* 1517 1600 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 46 /LOADS INTO 1600 MERRXR, IFDEF GERMAN < TEXT \MONITOR-FEHLER 0 BEI \> 001600* 1517 IFNDEF GERMAN < TEXT \MONITOR ERROR 0 AT \> 001601* 1611 001602* 2417 001603* 2240 001604* 0522 001605* 2217 001606* 2240 001607* 4060 001610* 4040 001611* 0124 001612* 4000 1607 MERTYP=MERRXR+7 UERRXR, IFDEF GERMAN < TEXT \ANWENDER-FEHLER 0 BEI \> 001613* 2523 IFNDEF GERMAN < TEXT \USER PROG. ERROR 0 AT \> 001614* 0522 001615* 4020 001616* 2217 001617* 0756 001620* 4005 001621* 2222 001622* 1722 001623* 4060 001624* 4040 001625* 0124 001626* 4000 1623 UERTYP=UERRXR+10 001627* 1636 EXPLTBL,MON1 001630* 1650 MON2 001631* 1664 MON3 001632* 1703 MON4 001633* 1715 MON5 001634* 1727 MON6 001635* 1741 MON7 MON1, IFDEF GERMAN < TEXT \EINTRAGUNGS-FEHLER\> 001636* 4006 IFNDEF GERMAN < TEXT \ FILE CLOSE ERROR \> 001637* 1114 001640* 0540 001641* 0314 001642* 1723 001643* 0540 001644* 0522 001645* 2217 001646* 2240 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 46-1 001647* 0000 MON2, IFDEF GERMAN < TEXT \VERZEICHNIS L/S-FEHLER\> 001650* 4004 IFNDEF GERMAN < TEXT \ DIRECTORY I/O ERROR \> 001651* 1122 001652* 0503 001653* 2417 001654* 2231 001655* 4011 001656* 5717 001657* 4005 001660* 2222 001661* 1722 001662* 4040 001663* 0000 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 47 MON3, IFDEF GERMAN < TEXT \GERAETEHANDLER NICHT GELADEN\> 001664* 4004 IFNDEF GERMAN < TEXT \ DEVICE HANDLER NOT IN CORE \> 001665* 0526 001666* 1103 001667* 0540 001670* 1001 001671* 1604 001672* 1405 001673* 2240 001674* 1617 001675* 2440 001676* 1116 001677* 4003 001700* 1722 001701* 0540 001702* 0000 MON4, IFDEF GERMAN < TEXT \FALSCHER USR-AUFRUF\> 001703* 4011 IFNDEF GERMAN < TEXT \ ILLEGAL USR CALL \> 001704* 1414 001705* 0507 001706* 0114 001707* 4025 001710* 2322 001711* 4003 001712* 0114 001713* 1440 001714* 4000 MON5, IFDEF GERMAN < TEXT \L/S-FEHLER AUF SYS:\> 001715* 4011 IFNDEF GERMAN < TEXT \ I/O ERROR ON SYS: \> 001716* 5717 001717* 4005 001720* 2222 001721* 1722 001722* 4017 001723* 1640 001724* 2331 001725* 2372 001726* 4000 MON6, IFDEF GERMAN < TEXT \ VERZEICHNIS VOLL \> 001727* 0411 IFNDEF GERMAN < TEXT \DIRECTORY OVERFLOW\> 001730* 2205 001731* 0324 001732* 1722 001733* 3140 001734* 1726 001735* 0522 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 47-1 001736* 0614 001737* 1727 001740* 0000 MON7, IFDEF GERMAN < TEXT \FEHLER NUMMER 7\> 001741* 5555 IFNDEF GERMAN < TEXT \---RESERVED----\> 001742* 5522 001743* 0523 001744* 0522 001745* 2605 001746* 0455 001747* 5555 001750* 5500 2000 PAGE 3400 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 48 /EXECUTION TIME LOADER FOR MONITOR "CHAIN" COMMAND 7400 RELOC CCB /EXECUTES IN FIELD 0 IN PAGE 7400 007400* 3275 MCHNX, DCA MCHREC /STORE STARTING RECORD # 007401* 1777 TAD I (MACARG /PICK UP HANDLER ADDRESS 007402* 7440 SZA /IF ANY: NONE=SHNDLR 007403* 3346 DCA MCHND 007404* 6201 CDF 0 007405* 7100 CLL 007406* 1346 TAD MCHND /TEST IF RESIDENT 007407* 1345 TAD CHERR1 /CONTAINS -7607 007410* 7620 SNL CLA 007411* 5313 JMP CHERR /ERROR: NOT RESIDENT 007412* 1275 TAD MCHREC 007413* 3776 DCA I (SOFSET /V3D SAVE STARTING ADDRESS 007414* 6212 CIF 10 007415* 4775 JMS I (200 007416* 0013 13 /RESET ALL DEVICE ASSIGNMENTS 007417* 0000 0 /BUT DON'T CLEAR OUTPUT FILES 007420* 6212 CIF 10 007421* 4775 JMS I (200 007422* 0011 11 /KICK MONITOR OUT AND RESTORE CORE IF NECESSARY 007423* 4271 JMS MCHRD /PARAMETERS PRESET TO READ CONTROL BLOCK INT0 7200 007424* 1734 TAD I CH7200 /TEST FOR SAVE FILE! 007425* 7040 CMA /TEST FOR VALID CCB 007426* 0374 AND (7740 007427* 7640 SZA CLA 007430* 5313 JMP CHERR 007431* 1633 TAD I MC7201 007432* 3773 DCA I (MSTCDF /TRANSFER INFORMATION FROM CONTROL BLOCK 007433* 7201 MC7201, CLA IAC 007434* 1772 TAD I (7202 007435* 3771 DCA I (MSTADR /TO PAGE 7600 007436* 1770 TAD I (7203 007437* 1367 TAD (1000 007440* 3766 DCA I (JSBITS 007441* 1312 TAD MCHFJM 007442* 3765 DCA I (MSWITC 007443* 1364 TAD (TCF 007444* 3763 DCA I (MSTCDF-1 007445* 2734 MCHN1, ISZ I CH7200 007446* 5261 JMP MCHN2 007447* 1711 TAD I MCHT1 007450* 3762 DCA I (MREAD+2 007451* 2311 ISZ MCHT1 007452* 1711 TAD I MCHT1 007453* 3761 DCA I (MREAD+1 007454* 1275 TAD MCHREC 007455* 3760 DCA I (MREAD+3 007456* 1346 TAD MCHND 007457* 3757 DCA I (MREAD-1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 48-1 007460* 5756 JMP I (MREAD /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 49 007461* 1711 MCHN2, TAD I MCHT1 007462* 3274 DCA MCHADR /SET UP COMMAND TO READ NEXT SEGMENT 007463* 2311 ISZ MCHT1 007464* 1711 TAD I MCHT1 007465* 3273 DCA MCHCTL 007466* 4271 JMS MCHRD /READ IT 007467* 2311 ISZ MCHT1 007470* 5245 JMP MCHN1 /LOOP ON NUMBER OF SEGMENTS 007471* 0000 MCHRD, 0 007472* 4746 JMS I MCHND 007473* 0101 MCHCTL, 0101 /1 RECORD INTO FIELD 0 STARTING FORWARDS 007474* 7200 MCHADR, 7200 007475* 0000 MCHREC, 0 007476* 5313 JMP CHERR /CHAIN ERROR 007477* 1273 TAD MCHCTL 007500* 7002 BSW 007501* 0355 AND (37 007502* 7450 SNA /V3C 007503* 1354 TAD (40 /0 MEANS FULL 4K READ 007504* 7001 IAC 007505* 7110 CLL RAR 007506* 1275 TAD MCHREC 007507* 3275 DCA MCHREC 007510* 5671 JMP I MCHRD 007511* 7204 MCHT1, 7204 007512* 5372 MCHFJM, MSTCDF-1&177+5200 /"JMP MSTCDF-1" 007513* 0303 CHERR, IFNDEF GERMAN < "C;"H;"A;"I;"N;" ;"E;"R;"R;"O;"R;" ;215;212;0> 007514* 0310 007515* 0301 007516* 0311 007517* 0316 007520* 0240 007521* 0305 007522* 0322 007523* 0322 007524* 0317 007525* 0322 007526* 0240 007527* 0215 007530* 0212 007531* 0000 IFDEF GERMAN < "C;"H;"A;"I;"N;" ;"F;"E;"H;"L;"E;"R;215;212;0> 007532* 2345 ISZ CHERR1 007533* 5313 JMP CHERR /LET TTY DIE DOWN /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 50 007534* 7200 CH7200, 7200 /ALSO CLA 007535* 1313 CHTADC, TAD CHERR 007536* 7450 SNA 007537* 5753 JMP I (7600 /DONE..BACK TO MONITOR 007540* 6046 TLS 007541* 6041 TSF 007542* 5341 JMP .-1 007543* 2335 ISZ CHTADC /NEXT LETTER 007544* 5334 JMP CH7200 007545* 0171 CHERR1, -7607 007546* 7607 MCHND, SHNDLR 007553* 7600 007554* 0040 007555* 0037 007556* 7757 007557* 7756 007560* 7762 007561* 7760 007562* 7761 007563* 7772 007564* 6042 007565* 7764 007566* 7746 007567* 1000 007570* 7203 007571* 7775 007572* 7202 007573* 7773 007574* 7740 007575* 0200 007576* 7747 007577* 0055 7600 PAGE 3600 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 51 1400 RELOC CCOVLY 001400* 1771 SAVXX, TAD I SXFLE /STORES SFILE 001401* 3355 DCA SWFILE 001402* 4777 JMS I (HNDL /LOAD IN NON SYS HANDLER 001403* 4351 JMS SWRITE /WRITE OUT CCB 001404* 1052 TAD MERTST /MINUS THE # OF SEGS OF LT32K CODE 001405* 3474 DCA I [600 001406* 1013 TAD LXR /# OF BLOCKS OF GT 32K SEGS 001407* 7450 SNA /LXR IS ZERO IF ALL SEGS ARE ABOVE 32K 001410* 5273 JMP OVR32 001411* 1771 TAD I SXFLE /LXR--- COMPENSATES FOR CCB 001412* 3355 DCA SWFILE 001413* 1417 SAVE4, TAD I XR 001414* 3354 DCA SADR 001415* 7330 CLA CLL CML RAR 001416* 1417 TAD I XR 001417* 3353 DCA SCTL 001420* 1354 SAVE5, TAD SADR 001421* 7004 RAL 001422* 7730 SZL SPA CLA /DOES THIS SEGMENT START BELOW 2000? 001423* 5264 JMP SAVE8 /NO - NOTHING TO WORRY ABOUT 001424* 1353 TAD SCTL 001425* 0376 AND (76 001426* 7640 SZA CLA /FIELD 0? 001427* 5264 JMP SAVE8 /NO - SAVE AS IS 001430* 4342 SAVE6, JMS LOADF0 /LOAD THE FIELD 0 SAVE AREA OVER THE I/O MONITOR 001431* 7240 SAVE7, CLA CMA 001432* 1353 TAD SCTL 001433* 7104 CLL RAL 001434* 1354 TAD SADR 001435* 7004 RAL 001436* 7730 SZL SPA CLA /CHECK WHETHER UPPER LIMIT IS ABOVE 2000 001437* 5243 JMP SAVE7A /IT IS - MUST MAKE 2 WRITES 001440* 1353 TAD SCTL /TOTALLY CONTAINED IN 0-1777 001441* 1112 TAD [10 /CHANGE FIELD 0 TO FIELD 1 AND CONTINUE 001442* 5263 JMP SAVE8A /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 52 001443* 1353 SAVE7A, TAD SCTL /WRITE IN 2 PARTS - 001444* 3041 DCA TM1 001445* 1354 TAD SADR 001446* 7041 CIA /FIRST PART FROM FIELD 1, EVERYTHING BELOW 2000 001447* 1062 TAD [2020 001450* 7130 CLL CML RAR 001451* 3353 DCA SCTL 001452* 4351 JMS SWRITE 001453* 7332 CLA CLL CML RTR 001454* 3354 DCA SADR 001455* 1353 TAD SCTL /SECOND PART FROM FIELD 0, EVERYTHING ABOVE 2000 001456* 0070 AND [3700 001457* 7041 CIA 001460* 1041 TAD TM1 001461* 7500 SMA /FULL FIELD SAVE IN F0 MAKES THIS + 001462* 1061 TAD [4000 /COMPENSATE FOR THAT CASE 001463* 3353 SAVE8A, DCA SCTL 001464* 4351 SAVE8, JMS SWRITE 001465* 2474 ISZ I [600 001466* 5213 JMP SAVE4 001467* 7240 STA /LXR BECOMES ONE BECAUSE OF CCB 001470* 1013 TAD LXR /NUMBER OF BLOCKS OF GT32K SEGS 001471* 7650 SNA CLA 001472* 5550 JMP I [SAVE12 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 53 001473* 1771 OVR32, TAD I SXFLE /RESET FILE TO INITIAL BLOCK 001474* 7001 IAC /COMPENSATE FOR CCB 001475* 3355 DCA SWFILE 001476* 1073 TAD [603 /RESET CCB POINTER 001477* 3015 DCA ADR1 001500* 1177 TAD [7000 001501* 6200 LXM 001502* 7200 CLA /YOU NEVER KNOW 001503* 1415 SAVE4B, TAD I ADR1 /IDENTICAL TO SAVE4 CODE 001504* 3354 DCA SADR 001505* 7330 CLA CLL CML RAR 001506* 1415 TAD I ADR1 001507* 3353 DCA SCTL 001510* 3016 DCA ADR2 /SET UP TO MOVE GREATER THAN 32K CODE DOWN 001511* 3014 DCA X1 /DITTO 001512* 3371 DCA SXFLE /INTIALIZE FOR COUNTER 001513* 1353 TAD SCTL /SET UP CDF FOR MOVE 001514* 0376 AND (76 /ISOLATE BANK AND FIELD 001515* 7112 CLL RTR /ADJUST MENT 001516* 7430 SZL 001517* 1375 TAD (20 001520* 7106 CLL RTL 001521* 1331 TAD FDC0 001522* 3323 DCA .+1 001523* 0000 XFSP, 0 /START OF MOVE LOOP 001524* 1416 TAD I ADR2 001525* 6241 CDF 40 /PUT THEM IN FIELD 4 (SECOND HALF BANK) 001526* 3414 DCA I X1 /IT SEEMS LIKE A GOOD FIELD 001527* 2371 ISZ SXFLE 001530* 5323 JMP .-5 001531* 6201 FDC0, CDF 0 /LOOP IS OFFICIALLY OVER 001532* 1353 TAD SCTL /ADJUST SWRITE CONTROL WORD 001533* 0166 AND [7700 001534* 1374 TAD (40 /TO FIELD 4 001535* 3353 DCA SCTL 001536* 4351 JMS SWRITE 001537* 2051 ISZ EXTMP /IS THAT ALL THE SEGMENTS?? 001540* 5303 JMP SAVE4B /NO ---CONTINUE 001541* 5550 JMP I [SAVE12 /TIME TO EXIT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 54 001542* 0000 LOADF0, 0 001543* 4570 JMS I [SHNDLR 001544* 1010 1010 001545* 0000 F0OVLY, 0 /WILL BE 0 IF WE EXECUTE THIS CODE, OF COURSE 001546* 0033 MTEMP+4 001547* 5003 JMP KMONER 001550* 5742 JMP I LOADF0 001551* 0000 SWRITE, 0 001552* 4426 JMS I DEVHND 001553* 4101 SCTL, 4101 001554* 0600 SADR, 600 001555* 0000 SWFILE, 0 001556* 5003 JMP KMONER 001557* 1353 TAD SCTL 001560* 7002 BSW 001561* 0373 AND (37 001562* 7450 SNA 001563* 1373 TAD (37 001564* 7001 IAC 001565* 7110 CLL RAR 001566* 1355 TAD SWFILE 001567* 3355 DCA SWFILE /BUMP RECORD NUMBER 001570* 5751 JMP I SWRITE 001571* 0516 SXFLE, SFILE 001573* 0037 001574* 0040 001575* 0020 001576* 0076 001577* 0307 1600 PAGE 4000 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 55 /SYSTEM GENERATOR - WRITES STUFF OUT USING SHNDLR 4724 WRITE=JMS I SYSHND 004000 4274 JMS SYSSWP /SWAP SYSTEM DEVICE HANDLER INTO 7600 004001 4724 WRITE; 4200; 7400; 0; JMP BERR /BOOTSTRAP 004002 4200 004003 7400 004004 0000 004005 5266 004006 1020 TAD RBFLAG 004007 7640 SZA CLA 004010 5216 JMP .+6 004011 4724 WRITE; 4210; DCOUNT; 01; JMP BERR /DIRECTORY 004012 4210 004013 1400 004014 0001 004015 5266 004016 4724 WRITE; 5001; 0000; 07; JMP BERR /KEYBOARD MONITOR 004017 5001 004020 0000 004021 0007 004022 5266 004023 4724 WRITE; 4610; 0000; MONTOR; JMP BERR /USR 004024 4610 004025 0000 004026 0013 004027 5266 004030 4724 WRITE; 4111; 3400; MEOVLY; JMP BERR /"ENTER" OVERLAY 004031 4111 004032 3400 004033 0026 004034 5266 004035 4724 WRITE; 4701; 2000; MSOVLY; JMP BERR /SAVE OVERLAY, 004036 4701 004037 2000 004040 0054 004041 5266 /ERROR ROUTINE AND "CHAIN" 004042 1020 TAD RBFLAG 004043 7640 SZA CLA 004044 5257 JMP .+13 004045 4724 WRITE; 4101; LDRCTL; MFREE; JMP BERR /ABSLDR CONTROL BLOCK 004046 4101 004047 4113 004050 0070 004051 5266 004052 4724 WRITE; 5010; 2000;MFREE+1; JMP BERR /ABSLDR 004053 5010 004054 2000 004055 0071 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 55-1 004056 5266 004057 4777 JMS I (4200 /OUTPUT THE DEVICE HANDLERS 004060 5266 JMP BERR 004061 4274 JMS SYSSWP /SWAP BACK PAGE 7600 004062 7240 CLA CMA 004063 7402 HLT 004064 7200 CLA 004065 5666 JMP I .+1 004066 7600 BERR, 7600 004067 4274 JMS SYSSWP 004070 7402 HLT 004071 5270 JMP .-1 004072 6600 W6600, 6600 004073 7600 W7600, 7600 004074 0000 SYSSWP, 0 004075 1272 TAD W6600 004076 3321 DCA SYTM1 004077 1273 TAD W7600 004100 3322 DCA SYTM2 004101 1721 SWAPLP, TAD I SYTM1 004102 3323 DCA TMSY 004103 1722 TAD I SYTM2 004104 3721 DCA I SYTM1 004105 1323 TAD TMSY 004106 3722 DCA I SYTM2 004107 2321 ISZ SYTM1 004110 2322 ISZ SYTM2 004111 5301 JMP SWAPLP 004112 5674 JMP I SYSSWP /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 56 /CONTROL BLOCK FOR ABSOLUTE LOADER 004113 7777 LDRCTL, 7777 /ONE CONTIGUOUS LOAD 004114 6213 6213 /STARTING ADDRESS IN FIELD 1 004115 2000 2000 /STARTING LOCATION=12000 004116 6003 6003 /DOES NOT LOAD OVER EITHER MONITOR AREA /ALSO DOES NOT USE THESE AREAS AT COMMAND TIME - TRUE /ONLY FOR FIRST CALL TO COMMAND DECODER 004117 2000 2000 /FIRST(AND ONLY) SEGMENT STARTS AT 2000 004120 1210 1210 /IN FIELD 1 AND IS 10 PAGES LONG IFNZRO LDRCTL-4113 <BLDER,XQX> 004121 0000 SYTM1, 0 004122 0000 SYTM2, 0 004123 0000 TMSY, 0 004124 7607 SYSHND, 7607 004177 4200 4200 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 57 4264 *4264 0664 RELOC 664 000664* 6211 MERGEX, CDF 10 000665* 1052 TAD MERTST 000666* 7640 SZA CLA 000667* 5360 JMP MOVEC 000670* 1067 TAD [1603 /LOADS INTO 600--MERGED--CODE 000671* 3013 DCA LXR 000672* 1067 TAD [1603 000673* 3014 DCA X1 000674* 1467 TAD I [1603 000675* 0377 AND (1777 000676* 1376 TAD (6000 000677* 3467 DCA I [1603 /INITIALIZE STATUS BITS TO NO OVERLOADS 000700* 1517 TAD I [1600 000701* 3040 DCA TEMP1 000702* 1413 MERGLP, TAD I LXR 000703* 0375 AND (37 000704* 7112 CLL RTR /TRANSFORM 'ABCDE' TO 'CDEBA0' 000705* 7012 RTR /CDE/000/000/00A/ B 000706* 7430 SZL /TEST FOR 'B' BANK 000707* 1065 TAD [400 /CDE/B00/000/00A/ 000710* 7110 CLL RAR /0CD/EB0/000/000/ A 000711* 7430 SZL /TEST FOR 'A' BANK 000712* 1102 TAD [100 /0CD/EBA/000/000/ 000713* 7104 CLL RAL 000714* 7002 BSW 000715* 3021 DCA TEMP2 000716* 1413 TAD I LXR 000717* 0126 AND [7400 000720* 3042 DCA TMP1 000721* 1042 TAD TMP1 000722* 3414 DCA I X1 /STORE ADDRESS 000723* 1042 TAD TMP1 000724* 7041 CIA 000725* 1413 TAD I LXR /FORM UPPER LIM - LOWER LIM 000726* 7110 CLL RAR 000727* 1021 TAD TEMP2 /ADD IN FIELD 000730* 3414 DCA I X1 000731* 1042 TAD TMP1 000732* 7104 CLL RAL 000733* 7730 SZL SPA CLA /IS THE LOWER LIMIT < 2000? 000734* 5346 JMP NXTSEG /NO 000735* 1021 TAD TEMP2 000736* 7010 RAR 000737* 7640 SZA CLA /YES- IS THE FIELD 0 OR 1? 000740* 5346 JMP NXTSEG /NO 000741* 7420 SNL 000742* 7001 IAC 000743* 7072 CMA CML RTR /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 57-1 000744* 0467 AND I [1603 /AND OUT THE PROPER OVERLOAD BIT 000745* 3467 DCA I [1603 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 58 000746* 2040 NXTSEG, ISZ TEMP1 000747* 5302 JMP MERGLP 000750* 1774 TAD I (1605 /TEST FIRST SEGMENT FOR GREATER THAN 32K 000751* 0111 AND [7 000752* 7650 SNA CLA /IF GREATER THAN 32K SET 000753* 5360 JMP MOVEC 000754* 1517 TAD I [1600 /THE 4000 BIT OF THE FIRST WORD OF THE CCB TO ZERO 000755* 7004 RAL 000756* 7110 CLL RAR 000757* 3517 DCA I [1600 /REMOVED LXM PUT IT IN MOVE UP CODE 000760* 1373 MOVEC, TAD (1577 000761* 3013 DCA LXR 000762* 1372 TAD (577 000763* 3014 DCA X1 000764* 1121 TAD [7600 000765* 3040 DCA TEMP1 000766* 3052 DCA MERTST /SET MOVE I.D. TO ZERO 000767* 5770 JMP I MVECB /RETURN TIME 000770* 0453 MVECB, CBMOVE 000772* 0577 000773* 1577 000774* 1605 000775* 0037 000776* 6000 000777* 1777 1000 PAGE 4400 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 59 7400 *7400 7600 RELOC 7600 /UPPER PAGE OF FIELD 1 - CHOCK FULL OF GOODIES /LIKE THOUSANDS OF TABLES AND THE MONITOR CALL LOCATION 007600* 0000 MOFILE, ZBLOCK 17 /OUTPUT FILE TABLE - 7600-7616 (3 ENTRIES MAX) /5 WORDS PER ENTRY - DEVICE # AND FILE NAME 007617* 0000 MIFILE, ZBLOCK 24 /INPUT FILE TABLE - 7617-7642 (10 ENTRIES MAX) /2 WORDS PER ENTRY - DEVICE # AND RECORD # /LAST WORD IN TABLE CONTAINS TERMINATION INDICATOR /(0 FOR CR, 1 FOR ALTMODE) AND HIGH ORDER /PART OF NUMERICAL ARGUMENT 007643* 0000 MPARAM, ZBLOCK 4 /PARAMETER TABLE - 7643-7646 /FIRST 3 WORDS - MASK OF SWITCHES(A-Z,0-9). /FOURTH WORD - CONTAINS THE LOW ORDER BITS OF /THE NUMERICAL ARGUMENT /TABLE OF DEVICE HANDLERS PRESENTLY IN CORE 007647* 7607 DVHNDL, 7607;7607;0;0;0;0;0 007650* 7607 007651* 0000 007652* 0000 007653* 0000 007654* 0000 007655* 0000 007656* 0000 0;0;0;0;0;0;0;0 007657* 0000 007660* 0000 007661* 0000 007662* 0000 007663* 0000 007664* 0000 007665* 0000 007666* 0000 MDATE, 0 /HOLDS THE CURRENT DATE- 4 BIT MONTH, /5 BIT DAY, 3 BIT YEAR FROM 1970 007667* 6202 MGET, CIF 0 007670* 4207 JMS SHNDLR /INST FIELD IS 0 007671* 1000 1000 /READ 4 RECORDS INTO FIELD 0 007672* 0000 0 /LOCATIONS 0-1777 007673* 0007 7 /KEYBOARD MONITOR FOLLOWS DIRECTORY 007674* 7746 PJSBTS, JSBITS /SERVES AS A HALT (WATCH IT!) 007675* 6203 SCDCIF, CDF CIF 0 007676* 5677 JMP I .+1 007677* 0400 KMNTRY /V3D GETS CHANGED TO INIT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 60 007700* 0000 MCALL1, 0 007701* 3340 DCA MARG1 /SAVE AC AS IT MAY CONTAIN AN ARGUMENT 007702* 6214 RDF /GET CALLING FIELD 007703* 1275 TAD SCDCIF 007704* 3336 DCA SMCIF 007705* 6201 CDF 0 007706* 1674 TAD I PJSBTS 007707* 7010 RAR 007710* 6211 CDF 10 007711* 7630 SZL CLA /DOES JOB USE LOCS 10000-11777? 007712* 5321 JMP MONRD /NO - DONT SAVE THEM 007713* 6202 CIF 0 007714* 4207 JMS SHNDLR 007715* 5010 5010 007716* 0000 0 007717* 0027 MTEMP 007720* 7402 HLT 007721* 6202 MONRD, CIF 0 007722* 4207 JMS SHNDLR 007723* 0610 610 007724* 0000 0 007725* 0013 MONTOR 007726* 7402 SCOPE, HLT /BIT 4 IS A 1 IF CONSOLE IS A SCOPE 007727* 5020 JMP MSTART /START THE MONITOR UP IN PAGE 0 007730* 6202 MRETRN, CIF 0 007731* 4207 JMS SHNDLR 007732* 1010 1010 /READ 10 RECS INTO FIELD 1 007733* 0000 0 007734* 0027 MTEMP /TEMP REGION ON SYS 007735* 7402 HLT /SYS HAS PROBLEMS 007736* 0000 SMCIF, 0 007737* 5700 JMP I MCALL1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 61 007740* 0000 MARG1, 0 /TABLE OF USER DEVICE NAMES /ALSO USED BY SYSTEM ODT 007741* 0000 UDNAME, 0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 007742* 0000 007743* 0000 007744* 0000 007745* 0000 007746* 0000 007747* 0000 007750* 0000 007751* 0000 007752* 0000 007753* 0000 007754* 0000 007755* 0000 007756* 0000 007757* 0000 007760* 0000 DCB, ZBLOCK 17 /DEVICE CONTROL BLOCK - SET IN "CONFIG" 007777* 0000 MMISC, 0 /WORD FOR SET OPTIONS 7600 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 62 /******************************************************** / MAP OF SYSTEM DEVICE AS OF 1-JUN-79 /******************************************************** / * 256 WORD RECORDS * /******************************************************** / / RECORDS CONTENTS / ------- -------- / / 0 MONITOR BOOTSTRAP / 1- 6 SYSTEM DIRECTORIES / 7-12 KEYBOARD MONITOR / 13-15 I/O MONITOR(CALLABLE MONITOR) [15.5 EMPTY] / 16-25 DEVICE HANDLER RECORDS / 26 MONITOR "ENTER" OVERLAY, TM8E EXTENSION / 27-50 MONITOR SCRATCH AREA FOR SAVING CORE / 51-53 COMMAND DECODER [53.5 EMPTY] / 54-55 "SAVE WITH ARGUMENTS" AND "DATE" OVERLAYS / 56 MONITOR ERROR ROUTINE / 57 "CHAIN" PROCESSOR [57.5 EMPTY] / 60-63 SYSTEM ODT / 64 MERGED CODE OD&SAVE / 65 CCL REMINISCENSES / 66 USED BY TWO-PAGE SYS HANDLER / 67 USED BY CCL (CCL OVERLAY) / 70-END FILE STORAGE /******************************************************** / / SCRATCH BLOCKS: / ------- ------- / / 27-32 USR SWAP AREA / 33-36 OD&KM SWAP AREA / 37 CCB IN SECON HALF / 40-44 ABSLDR SWAP AREA 12000-14377 / 45 ABSLDR HANDLER SWAP 7000-7377 / / /******************************************************** /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 63 7607 SHNDLR=7607 /ENTRY POINT TO SYSTEMS HANDLER 6600 *6600 7600 RELOC 7600 /SYSTEM HANDLER AND FIELD 0 UPPER PAGE /INCLUDES BOOTSTRAP AND PART OF MONITOR CALL ROUTINE 0016 DVHORG=16 /DEVICE HANDLER RECORDS 0027 MTEMP=27 0013 MONTOR=13 007600* 4207 JMS SHNDLR 007601* 5000 5000 /SAVE MONITOR CORE - WRITE 5 RECORDS FROM FIELD 0 007602* 0000 0 /(LOCATIONS 0-1777) 007603* 0033 MTEMP+4 007604* 7602 7602 /TROUBLE WITH SYSTEM DEVICE 007605* 6213 CDF CIF 10 007606* 5267 JMP MGET /NOW GO READ IN THE KEYBOARD MONITOR /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 64 6607 RELOC 6744 *6744 /INFORMATION ABOUT CURRENT JOB 7744 RELOC 7744 007744* 6203 JFIELD, 6203 /A CDF CIF N INSTRUCTION TO START THE JOB 007745* 7600 JSTART, 7600 /THE STARTING ADDRESS 007746* 1000 JSBITS, 1000 /VARIOUS STATUS BITS - USED FOR OPTIMIZATION /BIT 4000 - JOB DID NOT LOAD INTO 00000-01777 /BIT 2000 - JOB DID NOT LOAD INTO 10000-11777 /BIT 1000 - JOB IS NOT RESTARTABLE /BIT 400 - DOESN'T DESTROY BATCH MONITOR /BIT 2 - JOB DOES NOT USE LOCS 00000-01777 /BIT 1 - JOB DOES NOT USE LOCS 10000-11777 007747* 0000 SOFSET, 0 /FOR FUTURE(AND MAYBE PRESENT) USE /DATA BREAK FILLERS FOR SYSTEM BOOTSTRAP 007750* 7750 7750 007751* 7751 7751 007752* 7752 7752 007753* 7753 7753 007754* 7754 7754 007755* 7755 7755 /MONITOR PATCH TO HELP BLEEP LOADER 007756* 0000 0 /ADDRESS OF HANDLER FOR DEVICE USED 007757* 4756 MREAD, JMS I .-1 007760* 0000 0 007761* 0000 0 007762* 0000 0 007763* 7402 HLT 007764* 5372 MSWITC, JMP .+6 /ZEROED IF PG 7000 (HANDLER) MUST BE READ OVER 007765* 4207 JMS SHNDLR 007766* 0300 0300 007767* 7000 7000 /THIS AREA MODIFIED BY ODT 007770* 0035 MTEMP+6 007771* 7402 OS78, HLT /BIT 4 IS A 1 IF OS/78 IS RUNNING 007772* 6042 TCF /EXIT WITH A CLEAR CONSCIENCE(ALSO A CLEAR FLAG) 007773* 6203 MSTCDF, CDF CIF 0 007774* 5775 JMP I .+1 007775* 0000 MSTADR, 0 007776* 0000 SBLOCK, 0 /GETS DEVICE NUMBER OF RUNNED PROGRAM 007777* 0000 BIPCCL, 0 /MORE STATUS BITS. /BIT 1: 1=> BATCH IS IN PROGRESS /BITS 6-8: FIELD OF BATCH MONITOR /HIGHEST CORE FIELD USED BY OS/8 /OR 0 TO MEAN OS/8 MAY USE ALL OF CORE 7000 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 65 0000 *0 000000 0005 VERSNO /OS/8 VERSION NUMBER 000001 6232 CIF 30 000002 5001 JMP .-1 /HIGROUND SUPPORT 000003 7200 KMONER, CLA 000004 1165 TAD [7605 000005 3033 DCA ERRET 000006 4567 JMS I [PRMESG IFDEF GERMAN < TEXT /FEHLER/> 000007 7705 IFNDEF GERMAN < TEXT /?ERROR/> 000010 2222 000011 1722 000012 0000 /THE FOLLOWING REGISTERS ARE SET TO VITAL INITIAL VALUES. TO ALTER /THESE VALUES IS TO BRING DISASTER DOWN UPON YOUR HEAD! 000013 1051 LXR, PMSRST-1 000014 7764 X1, MSWITC /THESE TWO ARE USED AT INITIALIZATION. 000015 1711 ADR1, RUN8-1 000016 7511 ADR2, RUN8&177+7377 /USED DURING R, AND RUN COMMANDS XR, 000017 0000 AMFLAG, 0 /1 MEANS SAW ALTMODE /MUST NOT MOVE FOR CCL AND BATCH 0020 *20 000020 0000 RBFLAG, 0 /MUST BE AT LOCATION 20 000021 7771 TEMP2, -7 000022 7700 SYSTEM, 7700 000023 0200 PCH, PRINT 000024 1200 GLINE, XGLINE 000025 0211 GNAME, GETNAM 000026 7607 DEVHND, 7607 000027 5372 FUDJMP, MSTCDF-1&177+5200 000030 6203 P6203, 6203 000031 0261 TMP, PATCHLEV /MONITOR PATCH LEVEL MUST BE AT LOC 31 FOR CCL 000032 1505 PGTOUT, GETOUT 000033 0402 ERRET, PCRLF /MUST BE AT 33 FOR CCL /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 66 /THE FOLLOWING LOCS. ARE TEMPORARIES. HOWEVER, THERE IS NOW /VITAL ONCE ONLY CODE TO HELP THE BATCH PROCESSOR. THIS CODE IS /READ IN EVERY TIME THE KEYBOARD MONITOR IS RE-READ. 000034 0203 NM1, 203 /THIS MUST BE A 203! BATCH, /ENTRY TO READ NEW BATCH MONITOR 000035 4570 NM2, JMS I [7607 /THE BATCH INITIALIZER ALTERS SOME VALUES 000036 0610 NM3, 610 /IN THIS LIST...THIS ONE********** 000037 0000 NM4, 0 /THIS ONE*****GETS ADDRESS OF BOS. 000040 0013 TEMP1, 13 /******GETS RECORD OF BOS***** 000041 7610 TM1, SKP CLA /ERROR. DON'T RUN BATCH 000042 5046 TMP1, JMP BCHGO 000043 3445 NMCT, DCA I KM1 /CLEAR BATCH FLAG. 000044 5003 PN, JMP KMONER PRDSW, 000045 7777 KM1, 7777 BCHGO, 000046 6203 RUNSW, CIF CDF 0 000047 5450 DIGFLG, JMP I .+1 000050 1005 SENTER, KMINIT /GETS ENTRY POINT (BOS) 000051 0000 EXTMP, 0 000052 0000 MERTST, 0 000053 7777 SPTST, -1 /-1 USED IN RUN CODE 000054 0000 CCLINC, 0 /FLAG USED BY CCL V40 FOR IN-CORE STATUS /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 67 000061 4000 000062 2020 000063 0313 000064 0503 000065 0400 000066 0004 000067 1603 000070 3700 000071 0350 000072 0340 000073 0603 000074 0600 000075 0434 000076 0067 000077 6003 000100 0364 000101 0244 000102 0100 000103 0336 000104 7001 000105 6670 000106 0256 000107 0215 000110 0647 000111 0007 000112 0010 000113 1532 000114 0564 000115 0527 000116 0300 000117 1600 000120 0200 000121 7600 000122 7403 000123 7402 000124 7401 000125 1460 000126 7400 000127 0526 000130 0403 000131 7757 000132 7764 000133 7762 000134 0033 000135 7761 000136 7760 000137 7756 000140 7775 000141 7745 000142 0316 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 67-1 000143 1000 000144 7773 000145 7744 000146 1113 000147 1400 000150 0367 000151 2326 000152 0651 000153 1522 000154 7410 000155 1447 000156 1151 000157 1551 000160 0700 000161 1163 000162 1327 000163 0777 000164 1166 000165 7605 000166 7700 000167 0330 000170 7607 000171 0077 000172 7772 000173 7746 000174 7776 000175 7740 000176 0240 000177 7000 0001 FIELD 1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 68 /FIELD 1 /OS/8 MONITOR - MONITOR ROUTINES /THIS MONITOR IS CALLED INTO CORE BY A JMS 7700 IN FIELD 1 /IT REPLACES CORE FROM 200-1777 /AND INTERPRETS THE WORDS AFTER THE JMS AS A MONITOR FUNCTION /MONITOR FUNCTIONS ARE ASSIGN,LOOKUP,ENTER,ETC. 0013 MAXCMD=13 0200 *200 010200 0000 MONITO, 0 /MONITOR SUBROUTINE 010201 3055 DCA MACARG /STORE AC ARG 010202 3040 DCA USERFG /SET FLAG TO INDICATE WE WERE CALLED DIRECTLY 010203 6214 RDF /GET CALLING FIELD 010204 1177 TAD [CDF CIF 0 010205 3345 DCA FGETX 010206 1345 MRENTR, TAD FGETX 010207 3241 DCA FPUTX /FOR LOADING AND STORING CALLING SEQUENCE 010210 4220 JMS FGET /GET FIRST ARGUMENT[AND SET DATA FIELD 1) 010211 2200 ISZ MONITO 010212 7100 CLL 010213 1176 TAD [-MAXCMD-1 010214 7430 SZL 010215 5247 JMP MERROR 010216 1244 TAD JMPMAX 010217 3220 DCA .+1 /BRANCH TO APPROPRIATE ROUTINE WITH LINK ON 010220 0000 FGET, 0 /MUST PRESERVE LINK 010221 1200 TAD MONITO 010222 4343 JMS FGETW 010223 5620 JMP I FGET /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 69 /MONITOR COMMAND DISPATCH TABLE MUST BE JAMMED BEFORE 'FPUT' 010224 0247 MERROR 010225 0401 MASSIGN 010226 0603 MLOOKUP 010227 1011 MENTER 010230 1177 MCLOSE 010231 0263 MCD 010232 0306 MCHAIN 010233 0253 MERR 010234 0324 MESCAP 010235 0341 MESCPR 010236 0400 MASGN 010237 1343 MRSETP, MRESET 010240 0000 FPUT, 0 /MUST FOLLOW LAST ADDRESS IN JUMP TABLE 010241 0000 FPUTX, 0 010242 3600 DCA I MONITO 010243 6213 CDF CIF 10 010244 5640 JMPMAX, JMP I FPUT 010245 2057 MEOERR, ISZ MERRNO 010246 2057 MIOERR, ISZ MERRNO 010247 2057 MERROR, ISZ MERRNO 010250 2057 ISZ MERRNO 010251 2057 ISZ MERRNO 010252 2057 ISZ MERRNO 010253 7200 MERR, CLA 010254 6202 CIF 0 010255 4575 JMS I [SHNDLR 010256 0210 0210 010257 1400 CCOVLY 010260 0056 MERRTN 010261 7402 HLT 010262 5657 JMP I .-3 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 70 010263 7330 MCD, CLA CLL CML RAR 010264 4351 JMS CDSWAP /SWAP OUT CORE IF NECESSARY 010265 4220 JMS FGET 010266 3041 DCA T1 010267 6202 CIF 0 010270 4575 JMS I [SHNDLR 010271 0601 0601 010272 0000 0 010273 0051 MCDREC 010274 5246 JMP MIOERR 010275 1241 TAD FPUTX 010276 6203 CDF CIF 0 010277 4574 JMS I [200 010300 3241 DCA FPUTX 010301 1241 TAD FPUTX 010302 3345 DCA FGETX 010303 4351 JMS CDSWAP /RESTORE THE SWAPPED CORE IF NECESSARY 010304 7120 STL /LINK MUST BE ON AT MRESET 010305 5637 JMP I MRSETP /AFTER CD, RESET DEVICE AREA 010306 4220 MCHAIN, JMS FGET 010307 3041 DCA T1 /BUFFER THE ARGUMENT 010310 6202 CIF 0 010311 4575 JMS I [SHNDLR 010312 0101 0101 010313 7400 7400 010314 0057 MRUNRC 010315 5246 JMP MIOERR 010316 1041 TAD T1 /LOAD THE BUFFERED ARGUMENT 010317 6202 CIF 0 /CHAIN WILL DO CDF 0 010320 5713 JMP I .-5 010321 7200 MLNOTF, CLA 010322 2200 ISZ MONITO 010323 1040 MNEXT, TAD USERFG 010324 7110 MESCAP, CLL RAR 010325 1200 TAD MONITO 010326 3573 DCA I [7700 010327 1241 TAD FPUTX 010330 3572 DCA I [SMCIF 010331 7221 CLA IAC CML 010332 6201 CDF 0 010333 0571 AND I [JSBITS 010334 6211 CDF 10 010335 7010 RAR 010336 7730 SZL SPA CLA /RESTORE CORE IF USERFG=1 AND JSW[11]=0 010337 5572 JMP I [SMCIF 010340 5570 JMP I [MRETRN 010341 7120 MESCPR, CLL CML 010342 5325 JMP MESCAP+1 010343 0000 FGETW, 0 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 70-1 010344 3240 DCA FPUT 010345 7402 FGETX, HLT 010346 1640 TAD I FPUT 010347 6213 CDF CIF 10 010350 5743 JMP I FGETW /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 71 010351 0000 CDSWAP, 0 010352 1374 TAD ME1000 /FORM READ OR WRITE OPERATION 010353 3364 DCA MCDCTL 010354 6201 CDF 0 010355 1571 TAD I [JSBITS 010356 6211 CDF 10 010357 7012 RTR 010360 7630 SZL CLA /IS IT NECESSARY TO SAVE CORE? 010361 5751 JMP I CDSWAP /NO 010362 6202 CIF 0 010363 4575 JMS I [SHNDLR 010364 0000 MCDCTL, 0 010365 0000 0 010366 0033 MTEMP+4 010367 5246 JMP MIOERR 010370 5751 JMP I CDSWAP 010371 6202 EOVFLO, CIF 0 010372 4575 JMS I [SHNDLR 010373 0111 0111 010374 1000 ME1000, 1000 /ENTER OVERLAY LOADS OVER ENTER (NATCH) 010375 0026 MEOVLY 010376 5246 JMP MIOERR 010377 5774 JMP I ME1000 0201 *MONITO+1 0400 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 72 0400 *400 /ASSIGN PROCESSOR - TRANSLATE DEVICE NAME INTO DEVICE NUMBER /(IF NECESSARY),GET DEVICE HANDLER INTO CORE(IF NECESSARY) /AND ADJUST TABLES(IF NECESSARY). IS THIS REALLY NECESSARY? 010400 7201 MASGN, CLA IAC 010401 3054 MASSIGN, DCA ASFLAG 010402 1055 TAD MACARG 010403 7440 SZA /IS DEVICE NUMERIC OR SYMBOLIC? 010404 5246 JMP DFOUND /NUMERIC 010405 4567 JMS I [FGET /GET HIGH ORDER 2 CHARS OF NAME 010406 2574 ISZ I [MONITO 010407 7450 SNA 010410 5566 JMP I [MRTRN+1 /FIRST WORD OF NAME MUST BE NON-ZERO 010411 3052 DCA NAME 010412 4567 JMS I [FGET 010413 7450 SNA /IS NAME >2 CHARACTERS LONG? 010414 5221 JMP NOHASH /NO - DON'T HASH 010415 1052 TAD NAME 010416 7004 RAL 010417 7130 CLL CML RAR /FORCE SIGN BIT OF HASH NAME ON 010420 3052 DCA NAME 010421 1165 NOHASH, TAD [UDNAME-1 /SEARCH USER NAME TABLE FIRST 010422 3017 DSRCH, DCA XR 010423 1164 TAD [-17 010424 3042 DCA T2 010425 1417 DSRCLP, TAD I XR 010426 7041 CIA 010427 1052 TAD NAME 010430 7650 SNA CLA 010431 5241 JMP DSFND 010432 2042 ISZ T2 010433 5225 JMP DSRCLP 010434 1017 TAD XR 010435 7700 SMA CLA /WHICH TABLE DID WE JUST SEARCH? 010436 5566 JMP I [MRTRN+1 /SYSTEM TABLE - ERROR 010437 1163 TAD [SDNAME-1 010440 5222 JMP DSRCH /GO SEARCH SYSTEM TABLE 010441 1042 DSFND, TAD T2 010442 1162 TAD [20 010443 4561 JMS I [FPUT /PUT NUMBER INTO CALLING SEQUENCE 010444 4567 JMS I [FGET /GET IT BACK IN AC, BUMPING POINTER 010445 2574 ISZ I [MONITO 010446 4560 DFOUND, JMS I [MCKDEV /DETERMINE ITS VALIDITY (NON-ZERONESS) /AND FORM POINTERS /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 73 010447 7450 SNA /IS THE DEVICE HANDLER IN CORE? 010450 1442 TAD I T2 010451 7450 SNA /DOES A HANDLER EXIST FOR THE DEVICE? 010452 5557 JMP I [MLNOTF /NO - SAME AS THE DEVICE NOT EXISTING 010453 7044 CMA RAL /GET THE COMPLEMENT OF THE HIGH ORDER BIT INTO THE LINK 010454 7620 SNL CLA /TWO PAGE HANDLER?(IF HANDLER IS IN CORE, /THIS TEST IS RANDOM BUT WE DON'T CARE) 010455 1156 TAD [100 /YES - FORCE A TWO-PAGE READ 010456 1156 TAD [100 010457 3301 DCA DVHCTL 010460 1041 TAD T1 010461 3047 DCA T7 /SAVE T1 AS WE WILL DESTROY IT LATER 010462 1441 TAD I T1 010463 1054 TAD ASFLAG 010464 7640 SZA CLA /DOES HE ACTUALLY WANT US TO LOAD THE SILLY THING? 010465 5332 JMP AFINIS /NO - HE MUST HAVE TASTE. 010466 4567 JMS I [FGET /FETCH PAGE IN WHICH HANDLER IS TO BE LOADED 010467 7010 RAR /GET THE LINK, WHICH HAS BEEN UNTOUCHED SINCE WE /PUT THE "TWO PAGE HANDLER" FLAG INTO IT 010470 7520 SNL SMA /IF THIS HANDLER IS TWO-PAGE, IS HE ALLOWING IT TO BE? 010471 5557 JMP I [MLNOTF /NO - GIVE AN ERROR RETURN 010472 7004 RAL /YES - ROTATE BACK 010473 0155 AND [7600 /MAKE IT LEGAL 010474 3302 DCA DVHLOC 010475 4334 JMS GETREC 010476 3303 DCA DVHREC 010477 6202 CIF 0 010500 4575 JMS I [SHNDLR 010501 0000 DVHCTL, 0 /READ ONE OR TWO PAGES INTO FIELD 0 010502 0000 DVHLOC, 0 010503 0000 DVHREC, 0 010504 5554 JMP I [MIOERR /SYSTEM DEVICE ERROR /NOW GO THROUGH THE TABLE OF AVAILABE HANDLERS 010505 1164 TAD [-17 /AND MARK OFF THOSE WHICH ARE NOW IN CORE 010506 3044 DCA T4 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 74 010507 1044 DVHCLP, TAD T4 010510 4560 JMS I [MCKDEV /LOW ORDER BITS OF T4 GO THROUGH 1-17 010511 7040 CMA 010512 1302 TAD DVHLOC 010513 7130 CLL CML RAR 010514 1301 TAD DVHCTL /IF A HANDLER ENTRY POINT IS WITHIN 200 WORDS OF THE 010515 7700 SMA CLA /LOADING ADDRESS (400 FOR A TWO-PAGE HANDLER) 010516 3441 DCA I T1 /MARK IT AS WIPED 010517 4334 JMS GETREC 010520 7041 CIA 010521 1303 TAD DVHREC 010522 7640 SZA CLA 010523 5330 JMP NOTINC 010524 1442 TAD I T2 010525 0153 AND [177 010526 1302 TAD DVHLOC 010527 3441 DCA I T1 010530 2044 NOTINC, ISZ T4 010531 5307 JMP DVHCLP 010532 1447 AFINIS, TAD I T7 010533 5552 JMP I [MRTRN /STORE HANDLER ADDRESS AND EXIT 010534 0000 GETREC, 0 010535 1442 TAD I T2 /GET RECORD OF DEVICE HANDLER 010536 7106 CLL RTL 010537 7006 RTL 010540 7006 RTL /EXTRACT THE RECORD NUMBER 010541 0151 AND [17 010542 1150 TAD [DVHORG-1 /ADD THE BASE OF DEVICE HANDLER STORAGE 010543 5734 JMP I GETREC 010544 0000 MCKDEV, 0 /MUST PRESERVE LINK 010545 0151 AND [17 010546 7450 SNA 010547 5547 JMP I [MERROR /DEVICE 0 IS ILLEGAL 010550 3052 DCA NAME 010551 1052 TAD NAME 010552 1146 TAD [SDVHND-1 /FORM POINTER INTO HANDLER IMAGE TABLE 010553 3042 DCA T2 010554 1052 TAD NAME 010555 1145 TAD [DVHNDL-1 010556 3041 DCA T1 010557 1052 TAD NAME 010560 1144 TAD [DCB-1 010561 3050 DCA T8 /FORM POINTER TO DCB ENTRY FOR DEVICE 010562 1441 TAD I T1 010563 5744 JMP I MCKDEV IFNZRO .-564 <REASSEMBLE CONFIG> 010564 0000 SDNAME, ZBLOCK 17 /SYSTEM DNAME TABLE - SET UP BY "CONFIG" /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 74-1 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 75 IFZERO .+200&1000 <*600> /LOOKUP PROCESSOR - GETS THE STARTING BLOCK OF AN INPUT FILE /ON A SPECIFIED DEVICE.SKIPS IF FILE WAS FOUND OR DEVICE /IS NOT FILE ORIENTED 010603 7100 MLOOKUP,CLL /SET RDCAT MODE TO INPUT 010604 4222 JMS MRDCAT 010605 5213 JMP ERETRN /NON-FILE STRUCTURED DEVICE 010606 4301 JMS MDSRCH /SEARCH THE DIRECTORY FOR THE FILE 010607 5220 JMP MRTRN+1 /NOT FOUND - TAKE ERROR RETURN 010610 1045 LRETRN, TAD T5 010611 7041 CIA 010612 1543 TAD I [DORG /CONVERT T5 TO A RECORD NUMBER 010613 4561 ERETRN, JMS I [FPUT 010614 2574 ISZ I [MONITO 010615 1046 TAD T6 010616 7041 CIA /STORE FILE LENGTH AS A NEGATIVE NUMBER 010617 4561 MRTRN, JMS I [FPUT /THIS CODE IS JUMPED TO BY SEVERAL ROUTINES 010620 2574 MRTRN2, ISZ I [MONITO 010621 5557 JMP I [MLNOTF 010622 0000 MRDCAT, 0 010623 7440 SZA 010624 5251 JMP MRDREN /NOT THE FIRST SEGMENT - DON'T SET UP POINTERS 010625 3045 DCA T5 /ZERO STARTING BLOCK NUMBER 010626 3046 DCA T6 /ZERO FILE LENGTH 010627 1055 TAD MACARG /GET DEVICE NUMBER FROM AC 010630 4560 JMS I [MCKDEV /CHECK LEGALITY AND FORM POINTERS 010631 7450 SNA 010632 5542 JMP I [MERROR+1 /DEVICE HANDLER IS NOT IN CORE - ERROR 010633 3051 DCA T9 /ADDRESS OF DEVICE HANDLER 010634 4567 JMS I [FGET 010635 3044 DCA T4 /STORE THE POINTER TO THE FILE NAME IN T4 010636 7420 SNL 010637 7030 CML RAR 010640 7012 RTR /FORM A MASK OF 2000 OR 1000 DEPENDING ON LINK 010641 0450 AND I T8 010642 7640 SZA CLA /TEST FOR READ-ONLY(L=1) OR WRITE-ONLY(L=0) 010643 5220 JMP MRTRN+1 /FAILED THE TEST - ERROR RETURN 010644 1450 TAD I T8 010645 7700 SMA CLA 010646 5622 JMP I MRDCAT /DEVICE IS NOT FILE-ORIENTED 010647 2222 ISZ MRDCAT 010650 7201 CLA IAC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 76 010651 3367 MRDREN, DCA MCATRC /STORE SEGMENT NUMBER 010652 1051 TAD T9 /USE LOW ORDER BITS 010653 0153 AND [177 /OF DEVICE HANDLER ENTRY POINT 010654 7106 CLL RTL /AND THE REQUESTED SEGMENT NUMBER 010655 7004 RAL /TO FORM A "UNIQUE" KEY 010656 1367 TAD MCATRC /FOR THIS SEGMENT OF THIS DIRECTORY /(THE UNIQUENESS DEPENDS ON EACH HANDLER HAVING A DIFFERENT /STARTING OFFSET IN ITS PAGE) 010657 7041 CIA 010660 1007 TAD OLDT9 /COMPARE KEY AGAINST KEY OF CURRENT SEGMENT 010661 7450 SNA /ARE THEY THE SAME? 010662 5270 JMP INLRDY /YES - DON'T READ SEGMENT, ITS IN CORE 010663 7041 CIA 010664 1007 TAD OLDT9 010665 3007 DCA OLDT9 /STORE THE KEY OF THE NEW IN-CORE SEGMENT 010666 7330 CLA CLL CML RAR /CHANGE WRITE TO READ 010667 4360 JMS MWRCAT 010670 1541 INLRDY, TAD I [DCOUNT 010671 7064 CML CMA RAL 010672 7530 SZL SPA 010673 5370 JMP JMPME2 010674 7070 CMA CML RAR /NEW V3 DIRECTORY VERIFYER 010675 3053 DCA NFILES /FIRST WORD IN CATALOG = -# OF FILES IN CATALOG 010676 1140 TAD [DPROPR-1 010677 3017 DCA XR /SET XR TO POINT TO FIRST FILE ENTRY 010700 5622 JMP I MRDCAT /RETURN TO BUMPED ADDRESS 010701 0000 MDSRCH, 0 010702 1417 FSRCLP, TAD I XR 010703 7650 SNA CLA /EMPTY SPACES HAVE A ONE WORD ZERO DIRECTORY ENTRY 010704 5340 JMP SKPMTF /SO SKIP THE 4 WORD COMPARE ON THEM 010705 7240 CLA CMA 010706 1017 TAD XR 010707 3017 DCA XR 010710 1137 TAD [-4 010711 3046 DCA T6 010712 1044 TAD T4 010713 3047 DCA T7 010714 1047 SRCWDL, TAD T7 010715 4536 JMS I [FGETW 010716 7041 CIA 010717 1417 TAD I XR 010720 7640 SZA CLA /COMPARE ENTRY AGAINST ARGUMENT(8 CHARACTERS) 010721 5335 JMP NXTFIL 010722 2047 ISZ T7 010723 2046 ISZ T6 010724 5314 JMP SRCWDL 010725 4352 JMS BUMPXR /SKIP GARBAGE WORDS 010726 1417 TAD I XR 010727 7450 SNA 010730 5341 JMP SKPMTF+1 /UNCLOSED OUTPUT FILES DONT COUNT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 76-1 010731 7041 CIA 010732 3046 DCA T6 /STORE FILE LENGTH 010733 2301 ISZ MDSRCH 010734 5701 JMP I MDSRCH /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 77 010735 1046 NXTFIL, TAD T6 010736 7001 IAC 010737 4352 JMS BUMPXR /SKIP REST OF NAME AND GARBAGE WORDS 010740 1417 SKPMTF, TAD I XR /GET LENGTH OF THIS ENTRY 010741 1045 TAD T5 010742 3045 DCA T5 /ADD TO BLOCK STARTING ADDRESS 010743 2053 ISZ NFILES 010744 5302 JMP FSRCLP 010745 3045 DCA T5 /RE-INITIALIZE BLOCK NUMBER FOR NEXT SEGMENT 010746 1535 TAD I [DLINK /DIRECTORY EXHAUSTED - ANY MORE? 010747 7440 SZA 010750 5251 JMP MRDREN 010751 5701 JMP I MDSRCH 010752 0000 BUMPXR, 0 /ROUTINE TO SKIP (DWASTE+AC) WORDS 010753 1540 TAD I [DWASTE 010754 7041 CIA /DWASTE IS NEGATIVE AND SO IS AC 010755 1017 TAD XR 010756 3017 DCA XR 010757 5752 JMP I BUMPXR 010760 0000 MWRCAT, 0 010761 1134 TAD [4210 010762 3365 DCA CATCTL 010763 6202 CIF 0 010764 4451 JMS I T9 010765 4210 CATCTL, 4210 /WRITE 2 RECORDS FROM FIELD 1 010766 1400 CCOVLY 010767 0001 MCATRC, 1 010770 5533 JMPME2, JMP I [MERROR+2 /CANNOT REWRITE CATALOG 010771 5760 JMP I MWRCAT IFNZRO .-772 <REASSEMBLE CONFIG> /USED TO BE 766 010772 0000 SDVHND, ZBLOCK 17 /DEVICE HANDLER INFORMATION TABLE - SET BY CONFIG /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 78 IFZERO 1000&. <*1000> /ENTER PROCESSOR FOR MONITOR /FIND A HOLE IN THE DIRECTORY LARGE ENOUGH TO ACCOMODATE THE FILE /AND STICK IT IN. MAKE A NOTE THAT WE DID SO FOR THE /"CLOSE" PROCESSOR. 011011 3056 MENTER, DCA EPASS /SET UP FOR PASS 1 011012 4532 JMS I [MRDCAT /READ CATALOG AND SET UP NFILES AND XR 011013 5531 JMP I [ERETRN /NON-FILE-STRUCTURED DEVICE 011014 4530 JMS I [CONSOL 011015 3042 DCA T2 /INTIIALIZE STARTING BLOCK NUMBER COUNTER 011016 1140 TAD [DPROPR-1 011017 3017 DCA XR /RESTORE XR (CONSOLIDATOR DESTROYED IT) 011020 1055 TAD MACARG 011021 7112 CLL RTR 011022 7012 RTR 011023 0127 AND [377 /GET REQUESTED LENGTH FROM AC BITS 0-7 011024 7041 CIA 011025 3043 DCA T3 /T3=REQUESTED LENGTH. IF T3=0, MEANS RETURN /LARGEST EMPTY SPACE ON TAPE. IF T3<>0, MEANS RETURN /SMALLEST BLOCK OF LENGTH =>T3. 011026 1450 TAD I T8 /GET FCB ENTRY 011027 0126 AND [7 011030 7640 SZA CLA /ANY ACTIVE TENTATIVE FILES ON THIS DEVICE? 011031 5566 JMP I [MRTRN+1 /YES - TAKE ERROR RETURN 011032 1417 MELOOP, TAD I XR 011033 7650 SNA CLA 011034 5343 JMP MEMPTY /EMPTY SPACE - LOOK AT LENGTH 011035 7346 MTHREE /OCCUPIED - IGNORE 011036 4525 JMS I [BUMPXR 011037 1417 TAD I XR 011040 1042 MELEND, TAD T2 011041 3042 DCA T2 /UPDATE T2 TO STARTING BLOCK # OF NEXT ENTRY 011042 2053 ISZ NFILES 011043 5232 JMP MELOOP /GO TO NEXT ENTRY /DIRECTORY BLOCK EXHAUSTED 011044 1056 TAD EPASS 011045 7640 SZA CLA /WHAT PASS ARE WE IN? 011046 5263 JMP EFINUP /SECOND PASS - THIS IS FOR KEEPS 011047 1535 TAD I [DLINK /FIRST PASS 011050 7440 SZA /ANY MORE SEGMENTS? 011051 5524 JMP I [MRDREN /YES - CONTINUE /DONE - SEE IF OUR BEST IS GOOD ENOUGH. 011052 1044 TAD T4 011053 4536 JMS I [FGETW 011054 7640 SZA CLA /CHECK THAT FIRST WORD OF NAME IS NON-ZERO 011055 1046 TAD T6 011056 7650 SNA CLA /AND THAT WE FOUND WHAT WE WANTED /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 78-1 011057 5566 JMP I [MRTRN2 /OTHERWISE GIVE ERROR RETURN 011060 1054 TAD ASFLAG /GET NUMBER OF BEST SEGMENT 011061 2056 ISZ EPASS /AND RESTART THE ALGORITHM IN PASS 2 011062 5524 JMP I [MRDREN /(TAKES LESS SPACE THAN SAVING XR AND NAME) /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 79 /EVERYTHING IS SET UP - PERFORM THE ACTUAL ENTRY OPERATION 011063 1017 EFINUP, TAD XR 011064 3041 DCA T1 011065 1137 TAD [-4 011066 4525 JMS I [BUMPXR 011067 1540 TAD I [DWASTE 011070 7041 CIA 011071 1017 TAD XR /CATALOG MUST HAVE ROOM FOR ONE MORE FILE 011072 1123 TAD [-1772 /AFTER THIS FILE IS ENTERED 011073 7700 SMA CLA /WILL NEW ADDITION OVERFLOW CATALOG? 011074 5522 JMP I [EOVFLO /YUP - CALL OVERLAY TO EXTEND DIRECTORY 011075 1441 MELP2, TAD I T1 /MOVE REST OF CATALOG UP 011076 3417 DCA I XR /TO CREATE SPACE FOR NEW ENTRY 011077 7240 CLA CMA 011100 1041 TAD T1 011101 3041 DCA T1 011102 7344 CLA CMA CLL RAL 011103 1017 TAD XR 011104 3017 DCA XR 011105 1041 TAD T1 011106 7161 CIA CLL CML 011107 1052 TAD NAME 011110 7640 SZA CLA /HAVE WE PUSHED UP EVERYTHING? 011111 5275 JMP MELP2 /NO, KEEP PUSHING 011112 1137 TAD [-4 011113 3041 DCA T1 /NOW MOVE THE USERS FILE NAME 011114 1052 TAD NAME 011115 3017 DCA XR 011116 1044 TAD T4 011117 4536 JMS I [FGETW /[IN THE USERS FIELD, OF COURSE) 011120 3417 DCA I XR 011121 2044 ISZ T4 011122 2041 ISZ T1 /INTO THE EMPTY SPACE JUST CREATED 011123 5316 JMP .-5 011124 1521 TAD I [MDATE /PUT DATE OF CREATION INTO FILE NAME 011125 3417 DCA I XR /THIS WILL BE DESTROYED IF DWASTE=0 011126 7001 IAC /ADJUST XR BUMP BECAUSE OF DATE STORE 011127 4525 JMS I [BUMPXR 011130 3417 DCA I XR /GIVE THE NEWLY ENTERED FILE A LENGTH OF 0 011131 1017 TAD XR /PUT A POINTER TO THE LENGTH WORD OF THE 011132 3520 DCA I [DFLAG /NEW ENTRY INTO THE DIRECTORY HEADER 011133 7240 CLA CMA 011134 1541 TAD I [DCOUNT 011135 3541 DCA I [DCOUNT /INCREASE THE FILE COUNT BY 1 011136 1450 TAD I T8 011137 1054 TAD ASFLAG 011140 3450 DCA I T8 /SIGNAL AN OPEN OUTPUT FILE ON THIS DEVICE 011141 4517 JMS I [MWRCAT /WRITE THE ALTERED CATALOG BACK OUT 011142 5516 JMP I [LRETRN /STORE ARGS BACK JUST LIKE "LOOKUP" /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 80 011143 1417 MEMPTY, TAD I XR 011144 7141 CIA CLL 011145 3041 DCA T1 /SAVE LENGTH OF CURRENT ENTRY 011146 1043 TAD T3 011147 1046 TAD T6 011150 7200 CLA /LINK NOW EQUALS BEST LENGTH>=DESIRED LENGTH 011151 1043 TAD T3 011152 7450 SNA 011153 7020 CML /IF DESIRED LENGTH=0 WE ALWAYS WANT MAXIMUM 011154 1041 TAD T1 011155 7220 CLA CML /LINK IS NOW ON IF DESIRED LENGTH IS NOT IN BETWEEN /BEST LENGTH AND CURRENT LENGTH 011156 1041 TAD T1 011157 7041 CIA 011160 1046 TAD T6 011161 7670 SZL SNA CLA /TAKE EITHER MIN OR MAX OF BEST AND CURRENT LENGTHS, /DEPENDING ON WHETHER LINK IS ON OR OFF 011162 5374 JMP MNOCHG /MIN(MAX)=BEST - NOTHING TO DO 011163 1041 TAD T1 011164 3046 DCA T6 /MAKE CURRENT ENTRY NEW "BEST" 011165 7344 CLA CLL CMA RAL 011166 1017 TAD XR 011167 3052 DCA NAME /REMEMBER CATALOG LOCATION 011170 1515 TAD I [MCATRC 011171 3054 DCA ASFLAG /ALSO DIRECTORY SEGMENT NUMBER 011172 1042 TAD T2 011173 3045 DCA T5 /AND STARTING BLOCK NUMBER 011174 1041 MNOCHG, TAD T1 011175 7041 CIA 011176 5240 JMP MELEND /GO UPDATE THE BLOCK NUMBER /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 81 /CLOSE PROCESSOR - CLOSES AN OUTPUT FILE WHICH WAS OPENED /BY THE "ENTER" CALL -- ARGUMENTS ARE THE DEVICE NUMBER AND THE /CLOSING LENGTH OF THE FILE. PERFORMS A DIRECTORY CLEANUP AFTER /CLOSING THE FILE. IF AN ENTRY ALREADY EXISTS WITH THE NEW FILE'S /NAME IT IS DELETED. (CLOSE MAY BE USED AS A "DELETE" COMMAND /ONLY IF NO OUTPUT FILE WAS ENTERED). AN ERROR RETURN IS /GIVEN IF THE CLOSING LENGTH IS TOO BIG OR IF THERE WAS NEITHER /AN ACTIVE TENTATIVE FILE OR AN OLD FILE TO DELETE. 011177 4532 MCLOSE, JMS I [MRDCAT /GET THE CATALOG 011200 5267 JMP CRETRN /NON-FILE STRUCTURED DEVICE - RETURN NORMALLY 011201 7201 CLA IAC /GET THE NEXT WORD IN THE CALLING SEQUENCE 011202 4567 JMS I [FGET 011203 3041 DCA T1 /GET CLOSING LENGTH AND STORE IT AWAY 011204 4514 JMS I [MDSRCH /SEARCH FOR THE OLD COPY 011205 5240 JMP NODLET /NO OLD COPY 011206 7346 MTHREE 011207 1540 TAD I [DWASTE 011210 4363 JMS SQUISH /SQUISH OUT 3+#WASTE WORDS OF THE OLD COPY 011211 3416 DCA I XR2 /AND MAKE THE OTHER TWO INTO AN EMPTY 011212 1046 TAD T6 /FILE ENTRY WITH THE SAME LENGTH 011213 7041 CIA 011214 3416 DCA I XR2 /AS THE OLD COPY 011215 1450 TAD I T8 011216 0126 AND [7 011217 7450 SNA /IS THERE AN OPEN OUTPUT FILE ON THIS DEVICE 011220 5262 JMP EOCLOS /NO - FINISH UP AND GET OUT 011221 7041 CIA /GET THE SEGMENT NUMBER WE WANT 011222 1515 TAD I [MCATRC 011223 7650 SNA CLA 011224 5227 JMP .+3 011225 4273 JMS CONSOL 011226 4517 JMS I [MWRCAT /NO - WRITE OUT THE ONE WE SQUISHED 011227 1520 TAD I [DFLAG /GET LOCATION OF TENTATIVE FILE 011230 7141 CIA CLL 011231 1016 TAD XR2 011232 7630 SZL CLA /IS THE ENTRY TO BE CLOSED ABOVE THE ONE 011233 5236 JMP .+3 /WE JUST DELETED? 011234 7346 MTHREE /YES - MOVE THE POINTER DOWN 011235 1540 TAD I [DWASTE /TO COMPENSATE FOR THE SQUISHING 011236 1520 TAD I [DFLAG /THE POINTER WILL NOW POINT 011237 3520 DCA I [DFLAG /TO THE LENGTH WORD. /(THIS WAS WASTED WORK UNLESS THE CORRECT SEGMENT IS IN CORE) /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 82 011240 1450 NODLET, TAD I T8 011241 0126 AND [7 011242 7450 SNA /IS THERE AN OPEN OUTPUT FILE ON THIS DEVICE? 011243 5566 JMP I [MRTRN+1 /WHAT DID HE CALL US FOR? - ERROR 011244 4532 JMS I [MRDCAT /YES - READ IN THE CORRECT SEGMENT 011245 1520 TAD I [DFLAG 011246 3044 DCA T4 /T4 POINTS TO THE LENGTH OF THE TENTATIVE ENTRY 011247 1041 TAD T1 011250 7041 CIA /IF T1=0, NEW ENTRY WILL BE DELETED AUTOMATICALLY 011251 3444 DCA I T4 /DURING CONSOLIDATION 011252 2044 ISZ T4 011253 2044 ISZ T4 011254 7120 CLL CML 011255 1041 TAD T1 011256 1444 TAD I T4 /SUBTRACT CLOSING LENGTH FROM FREE BLOCK ADJACENT TO ENTRY 011257 7460 SNL SZA 011260 5513 JMP I [MERROR+3 /THIS CREEP HAS GONE AND DESTROYED HIS TAPE 011261 3444 DCA I T4 011262 4273 EOCLOS, JMS CONSOL /CONSOLIDATE THE DIRECTORY 011263 1112 TAD [7770 011264 0450 AND I T8 011265 3450 DCA I T8 011266 7410 SKP 011267 1155 CRETRN, TAD [7600 /DO A WRITE OF 0 PAGES. (MAGTAPE) 011270 4517 JMS I [MWRCAT 011271 2574 ISZ I [MONITO 011272 5566 JMP I [MRTRN2 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 83 /CONSOLIDATOR - CHECKS FOR ENTRIES OF LENGTH 0 AND DELETES THEM. /ALSO CHECKS FOR ADJACENT FREE AREAS AND COMBINES THEM. 011273 0000 CONSOL, 0 011274 1140 TAD [DPROPR-1 011275 3017 DCA XR 011276 1541 TAD I [DCOUNT 011277 3047 DCA T7 /T7 = FILE COUNT 011300 1417 CONLP, TAD I XR 011301 7650 SNA CLA /EMPTY FILE? 011302 5322 JMP CONMTF /YES - GO CHECK FOR NULL AND 2 IN A ROW 011303 7346 MTHREE 011304 4525 JMS I [BUMPXR /GET PAST THE GARBAGE WORDS 011305 1417 TAD I XR /GET COUNT 011306 7640 SZA CLA /WOULD THIS HAPPEN TO BE A NULL FILE? 011307 5317 JMP CONLPT /NAH, GO TO NEXT ONE 011310 1111 TAD [-5 /YEAH, REMOVE IT ENTIRELY 011311 1540 TAD I [DWASTE /INCLUDING THE WASTE WORDS 011312 4363 SQCOMN, JMS SQUISH 011313 2541 ISZ I [DCOUNT /BUMP DOWN FILE COUNT IN DIRECTORY 011314 2053 ISZ NFILES /AS WELL AS THE TEMPORARY ONE IN PAGE 0 011315 7000 NOP /V3 RL INSISTS 011316 5274 JMP CONSOL+1 /REPEAT ENTIRE CONSOLIDATION - THIS DELETION MAY /HAVE BROUGHT TWO FREE ENTRIES TOGEHER / THE ABOVE NOP FIXES THE KILLER CLOSE BUG 011317 2047 CONLPT, ISZ T7 011320 5300 JMP CONLP /MORE FILES - KEEP PLUGGING 011321 5673 JMP I CONSOL /RETURN FROM CONSOLIDATOR 011322 1417 CONMTF, TAD I XR /IS THIS FREE ENTRY NULL? 011323 7450 SNA 011324 5341 JMP SQTRIV /YES - SQUASHITLIKEABUG 011325 3042 DCA T2 /NO - SAVE LENGTH 011326 1017 TAD XR 011327 3363 DCA SQUISH /SAVE POSITION OF LENGTH WORD 011330 2047 ISZ T7 /WAS IT THE LAST FILE? 011331 7410 SKP /NO, THEN THERE IS ONE AFTER IT(GOOD THINKING!) 011332 5673 JMP I CONSOL /YES - RETURN FROM CONSOLIDATOR 011333 1417 TAD I XR 011334 7640 SZA CLA /TWO EMPTIES IN A ROW? 011335 5303 JMP CONLP+3 /NO - SLIP BACK INTO LOOP 011336 1417 TAD I XR 011337 1042 TAD T2 /YES - COMBINE LENGTHS 011340 3763 DCA I SQUISH /STORE BACK IN FIRST LENGTH WORD AND SQUISH SECOND ENTRY 011341 7344 SQTRIV, CLA CMA CLL RAL 011342 5312 JMP SQCOMN /SQUISH OUT 2 WORDS /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 84 011343 1164 MRESET, TAD [-17 011344 3043 DCA T3 011345 1043 MRSETL, TAD T3 011346 4560 JMS I [MCKDEV /LINK MUST BE ON AT THIS POINT 011347 1174 TAD [200 011350 7630 SZL CLA /ZERO ALL DEVICE HANDLER SLOTS THAT AREN'T RESIDENT 011351 3441 DCA I T1 011352 4567 JMS I [FGET 011353 7640 SZA CLA 011354 1126 TAD [7 011355 7160 CMA STL 011356 0450 AND I T8 011357 3450 DCA I T8 /DELETE THE "FILE CURRENTLY OPEN" FLAG IF ASKED 011360 2043 ISZ T3 011361 5345 JMP MRSETL 011362 5510 JMP I [MNEXT /SUBR TO COLLAPSE DIRECTORY AFTER A POINT 011363 0000 SQUISH, 0 011364 1017 TAD XR 011365 3015 DCA XR1 011366 7344 CLA CLL CMA RAL 011367 1015 TAD XR1 011370 3016 DCA XR2 /SET UP XR2 FOR CHANGING SQUISHED ENTRY 011371 1417 SQLOOP, TAD I XR 011372 3415 DCA I XR1 /MOVE DOWN ONE WORD 011373 1017 TAD XR 011374 1107 TAD [-1777 011375 7640 SZA CLA /AT END YET? 011376 5371 JMP SQLOOP /NO, KEEP GOING 011377 5763 JMP I SQUISH /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 85 1400 *1400 /"ENTER" OVERLAY TO USR - RUNS IN 11000 011400 5203 JMP .+3 011401 7771 MSEGLM, -7 /# DIRECT. SEGS 011402 7770 NEWLEN, -10 011403 1535 MEOVLP, TAD I [DLINK 011404 7650 SNA CLA 011405 5305 JMP MELAST /LAST SEGMENT - MUST CREATE A NEW ONE 011406 2541 ISZ I [DCOUNT /BUMP ENTRY COUNT DOWN 011407 4517 JMS I [MWRCAT /WRITE OUT THIS SEGMENT 011410 4342 JMS MSKIPF /FIND END OF SHORTENED DIRECTORY 011411 3367 DCA MEFCNT /PREPARE TO TRANSFER LAST ENTRY 011412 1377 TAD (MEOVLS-1 011413 3015 DCA XR1 /INTO NEXT DIRECTORY SEGMENT 011414 1417 TAD I XR 011415 3415 DCA I XR1 011416 2367 ISZ MEFCNT /THROUGH A BUFFER AT LOC 11200 011417 1017 TAD XR 011420 7041 CIA 011421 1041 TAD T1 /T1 WAS SET UP BY "ENTER" 011422 7640 SZA CLA 011423 5214 JMP .-7 011424 1441 TAD I T1 /GET LENGTH OF MOVED ENTRY 011425 3366 DCA MEOCNT 011426 1535 TAD I [DLINK 011427 4532 JMS I [MRDCAT /READ NEXT SEGMENT 011430 4530 JMS I [CONSOL /MAKE SURE IT IS AT ITS SMALLEST 011431 1543 TAD I [DORG 011432 1366 TAD MEOCNT 011433 3543 DCA I [DORG /BUMP FILE ORIGIN DOWN 011434 4342 JMS MSKIPF /FIND LAST LOC IN NEW SEGMENT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 86 011435 1017 MELP3, TAD XR 011436 3370 DCA METMP1 011437 1017 TAD XR 011440 1367 TAD MEFCNT 011441 3371 DCA METMP2 /PREPARE TO PUSH ALL ENTRIES UP 011442 1770 TAD I METMP1 011443 3771 DCA I METMP2 /DO THE PUSHING 011444 7240 STA 011445 1017 TAD XR 011446 3017 DCA XR 011447 1017 TAD XR 011450 1376 TAD (-DWASTE 011451 7640 SZA CLA /ARE WE THROUGH? 011452 5235 JMP MELP3 /NO 011453 1377 TAD (MEOVLS-1 011454 3017 DCA XR /PREPARE TO MOVE THE SAVED ENTRY INTO THE 011455 7240 CLA CMA /NEW SEGMENT 011456 1541 TAD I [DCOUNT 011457 3541 DCA I [DCOUNT /INCREASE ENTRY COUNT OF NEW SEGMENT 011460 1367 TAD MEFCNT 011461 7041 CIA 011462 3367 MECOMN, DCA MEFCNT /STORE NUMBER OF WORDS TO MOVE 011463 1140 TAD [DWASTE 011464 3015 DCA XR1 011465 1417 TAD I XR 011466 3415 DCA I XR1 011467 2367 ISZ MEFCNT 011470 5265 JMP .-3 /MOVE THE ENTRY IN 011471 4342 JMS MSKIPF 011472 1017 TAD XR 011473 3041 DCA T1 /T1=LAST LOC IN SEGMENT 011474 1540 TAD I [DWASTE 011475 7041 CIA 011476 1017 TAD XR 011477 1123 TAD [-1772 011500 7700 SMA CLA /HAVE WE MADE THIS SEGMENT TOO BIG? 011501 5203 JMP MEOVLP /YES - LOOP UNTIL WE GET IT RIGHT 011502 4517 JMS I [MWRCAT /WRITE OUT NEW SEGMENT 011503 5060 JMP MEOXIT /READ IN ENTER AND CONTINUE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 87 011504 7001 MWRONG, IAC 011505 1202 MELAST, TAD NEWLEN 011506 3370 DCA METMP1 /LENGTH OF NEW SEGMENT 011507 1370 TAD METMP1 011510 7041 CIA 011511 1541 TAD I [DCOUNT 011512 7500 SMA /WERE THERE "NEWLEN+1" 011513 5304 JMP MWRONG /NO - SET OUR SIGHTS LOWER 011514 3541 DCA I [DCOUNT /ADJUST LENGTH OF OLD SEGMENT 011515 4342 JMS MSKIPF /FIND BOUNDARY LOC BETWEEN SEGMENTS 011516 1515 TAD I [MCATRC 011517 7001 IAC 011520 3535 DCA I [DLINK /LINK THE OLD LAST SEGMENT TO 011521 1535 TAD I [DLINK /THE NEWLY CREATED ONE 011522 1201 TAD MSEGLM 011523 7700 SMA CLA 011524 5775 JMP I (MEOERR /PROVIDED THAT THERE IS ROOM FOR ANOTHER 011525 4517 JMS I [MWRCAT /WRITE OUT THE NEXT-TO-LAST SEGMENT 011526 2515 ISZ I [MCATRC /BUMP RECORD NUMBER FOR NEXT WRITE 011527 2007 ISZ OLDT9 /LIKEWISE BUMP DIRECTORY KEY 011530 1370 TAD METMP1 011531 3541 DCA I [DCOUNT 011532 1366 TAD MEOCNT 011533 7041 CIA 011534 1543 TAD I [DORG 011535 3543 DCA I [DORG /SET UP PARAMETERS OF THE NEW SEGMENT 011536 3535 DCA I [DLINK /MARK IT AS THE NEW LAST SEGMENT 011537 1017 TAD XR 011540 1107 TAD [-1777 /SET UP COUNT OF WORDS TO SLIDE DOWN 011541 5262 JMP MECOMN /USE COMMON CODE TO SLIDE WORDS AND EXIT /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 88 011542 0000 MSKIPF, 0 /SUBR TO FIND LAST LOC USED IN A SEGMENT /ALSO FINDS NUMBER OF BLOCKS USED BY SEGMENT 011543 1541 TAD I [DCOUNT 011544 3372 DCA MNOFIL 011545 1140 TAD [DWASTE 011546 3017 DCA XR 011547 3366 DCA MEOCNT /INITIALIZE POINTER(XR) AND COUNT(MEOCNT) 011550 1417 MSKPLP, TAD I XR 011551 7650 SNA CLA 011552 5360 JMP MEOMTY 011553 7346 MTHREE 011554 1540 TAD I [DWASTE /BUMP POINTER TO LENGTH WORD OF FILE ENTRY 011555 7041 CIA 011556 1017 TAD XR 011557 3017 DCA XR 011560 1417 MEOMTY, TAD I XR 011561 1366 TAD MEOCNT 011562 3366 DCA MEOCNT 011563 2372 ISZ MNOFIL 011564 5350 JMP MSKPLP 011565 5742 JMP I MSKIPF 011566 0000 MEOCNT, 0 011567 0000 MEFCNT, 0 011570 0000 METMP1, 0 011571 0000 METMP2, 0 011572 0000 MNOFIL, 0 1200 MEOVLS=1200 /DESTROYS PART OF "CLOSE" OP FOR BUFFER 011575 0245 011576 6374 011577 1177 1600 PAGE /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 89 /TM8E - EXTENDED HANDLER / / THIS WILL REALLY BE EXECUTED FROM FIELD MYFLD BUT IS / ASSEMBLED IN FIELD 0 / / *** MUST BE STORED IN BLOCK 26 ON SYS: *** (AFTER 'ENTER OVERLAY') / /LOADED AND CALLED BY THE SYSTEM TM8E HANDLER. /DESTROYS FIELD X / /CALLING SEQUENCE: / CIF X / JMS I (TM8EEX / IF AC = -1 THEN / IF WRITE - UNPACK BUFFER / IF READ - ZERO BUFFER / IF AC = 00 THEN / IF WRITE - DO NOTHING / IF READ - PACK BUFFER / WORD -- BIT 0 = 0 (READ); 1 (WRITE) / BITS 1-5 = # PAGES IN OS/8 BUFFER / IF THIS IS ZERO AND CODE=6, THEN PACK OR / UNPACK THE # WORDS INDICATED IN ARG 3. / BITS 6-8 = FIELD OF OS/8 BUFFER / BITS 9-11= FUNCTION CODE (ONLY 6 MEANINGFUL) / CORE -- STARTING LOCATION OF OS/8 BUFFER / BLOCK-- USED ONLY TO PASS BUFFER SIZE ON FN CODE 6. / / /LOCATIONS USED ON PAGE 0 0017 TBUF= 17 0020 HLFBLK= 20 0021 NKNT= 21 0022 NBUFF= 22 0023 PKT1= 23 0024 PKT2= 24 0070 MAGSW= 70 /WHY? 0100 PKT3= 100 /WHY? /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 90 0200 RELOC 200 010200* 0000 ZBLOCK 2 /*KLUDGE FOR HANDLER* 010202* 0000 TM8EEX, 0 /ENTRY POINT AT 202! 010203* 3070 DCA MAGSW 010204* 6224 RIF /GET THIS FIELD 010205* 1302 TAD MAGCDF 010206* 3306 DCA MYFLD 010207* 1215 TAD MAG377 /TAPBUF-1 ** 010210* 3017 DCA TBUF 010211* 1340 TAD MAG100 010212* 0602 AND I TM8EEX /SPECIAL CLEARING NEEDED IF 010213* 3020 DCA HLFBLK / WRITING 1/2 BLOCK 010214* 1602 TAD I TM8EEX /GET WORD 010215* 0377 MAG377, AND (3700 /MASK OFF # PAGES 010216* 7450 SNA /^ MUST BE FIRST LITERAL 010217* 5356 JMP CKCODE 010220* 7140 RTRN1, CMA CLL 010221* 3021 DCA NKNT /IT'S NOW THE NUMBER OF 3 CHARACTER (2 WORD) GROUPS. 010222* 7330 CLA STL RAR /SET LINK ON WRITE 010223* 1602 TAD I TM8EEX 010224* 0264 AND MAG70 /GET FIELD 010225* 1302 TAD MAGCDF 010226* 3270 DCA OSFLD1 010227* 1270 TAD OSFLD1 010230* 3316 DCA OSFLD2 010231* 2202 ISZ TM8EEX 010232* 1602 TAD I TM8EEX /GET CORE LOCATION 010233* 3022 DCA NBUFF 010234* 1070 TAD MAGSW 010235* 7650 SNA CLA /IF AC WAS =-1 EITHER UNPACK OR ZERO MAG BUFFER 010236* 5346 JMP READCK /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 91 / THE PLAN IS TO WRITE ON THE MAGTAPE. / UNPACK THE OS8 BUFFER INTO THE TAPE BUFFER / AND THEN RETURN TO THE HANDLER TO DO THE / ACTUAL WRITE OPERATION. / 010237* 7420 SNL /IF READ ... 010240* 3070 CLRPAK, DCA MAGSW /USE SWITCH TO CLEAR BUFFER 010241* 2021 UP1, ISZ NKNT 010242* 5252 JMP UP2 010243* 1020 TAD HLFBLK /DID WE UNPAK 1/2 BLOCK? 010244* 7450 SNA 010245* 5350 JMP TEXIT /NO 010246* 7040 CMA /YES - CLEAR THE REST 010247* 3021 DCA NKNT 010250* 3020 DCA HLFBLK 010251* 5240 JMP CLRPAK 010252* 3024 UP2, DCA PKT2 010253* 4267 JMS UP9 /GET 1ST WORD 010254* 4262 JMS UP8 010255* 4267 JMS UP9 /GET 2ND WORD 010256* 4262 JMS UP8 010257* 1024 TAD PKT2 010260* 4262 JMS UP8 010261* 5241 JMP UP1 / 010262* 0000 UP8, 0 010263* 0215 AND MAG377 010264* 0070 MAG70, AND MAGSW 010265* 3417 DCA I TBUF 010266* 5662 JMP I UP8 / 010267* 0000 UP9, 0 010270* 7402 OSFLD1, HLT 010271* 1422 TAD I NBUFF 010272* 0344 AND MG7400 010273* 7004 RAL 010274* 1024 TAD PKT2 010275* 7006 RTL 010276* 7006 RTL 010277* 3024 DCA PKT2 010300* 1422 TAD I NBUFF 010301* 2022 ISZ NBUFF 010302* 6201 MAGCDF, CDF 0 /DON'T CARE IF SKIPS 010303* 4305 JMS CDFRST 010304* 5667 JMP I UP9 010305* 0000 CDFRST, 0 010306* 7402 MYFLD, HLT 010307* 5705 JMP I CDFRST /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 92 / READ OPERATION -- PACK THE TAPE BUFFER / INTO THE OS8 BUFFER AFTER A TAPE READ. / THIS INCLUDES MASKING OFF THE PARITY / BITS THE HARDWARE INSERTS TO MAKE THINGS / DIFFICULT FOR US. / / THIS OPERATION STARTS AT LOC. <READ>. / 010310* 4305 PK1, JMS CDFRST 010311* 4327 JMS PK8 /GO GET THE FIRST WORD 010312* 3023 DCA PKT1 /SAVE 1ST CHAR OF EACH TRIPLET 010313* 4327 JMS PK8 /GO GET THE NEXT 010314* 3024 DCA PKT2 /SAVE THIS (2ND) ONE TOO 010315* 4327 JMS PK8 /AND FINALLY, GET THE THIRD 010316* 7402 OSFLD2, HLT /SET THE OS8 FIELD 010317* 4333 JMS PK9 /PACK THE FIRST OS8 WORD AND STORE IT 010320* 1024 TAD PKT2 010321* 3023 DCA PKT1 010322* 1100 TAD PKT3 010323* 4333 JMS PK9 /AND ALSO THE SECOND WORD 010324* 2021 READ, ISZ NKNT /ANY MORE TO GO? 010325* 5310 JMP PK1 /YES 010326* 5350 JMP TEXIT /NO -- BUFFER FINISHED / 010327* 0000 PK8, 0 /TRICK SUBROUTINE TO KEEP TRACK / OF WHICH CHARACTER WR'RE WORKING / ON AT ANY GIVEN TIME. 010330* 1417 TAD I TBUF /GET A CHARACTER FROM TAPE BUFFER 010331* 0215 AND MAG377 /MASK OFF PARITY BIT 010332* 5727 JMP I PK8 / 010333* 0000 PK9, 0 /GENERATE AND SAVE ONE PACKED CHARACTER 010334* 7006 RTL 010335* 7006 RTL 010336* 3100 DCA PKT3 010337* 1344 TAD MG7400 010340* 0100 MAG100, AND PKT3 010341* 1023 TAD PKT1 010342* 3422 DCA I NBUFF 010343* 2022 ISZ NBUFF 010344* 7400 MG7400, 7400 010345* 5733 JMP I PK9 /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 93 010346* 7420 READCK, SNL /IF AC WAS = 0 AND WRITE DO NOTHING 010347* 5324 JMP READ 010350* 6203 TEXIT, CIF CDF 0 010351* 1022 TAD NBUFF 010352* 3602 DCA I TM8EEX /RESET UPDATED BUFFER POINTER 010353* 2202 ISZ TM8EEX /BUMP TO EXIT 010354* 2202 ISZ TM8EEX 010355* 5602 JMP I TM8EEX / 010356* 7326 CKCODE, CLA STL RTL /2+6=10 010357* 1602 TAD I TM8EEX 010360* 0376 AND (7 /MASK OFF CODE 010361* 7640 SZA CLA 010362* 5220 JMP RTRN1 /NOT SIX -- RETURN FOR NULL OPERATION 010363* 7126 CLL CML RTL /2 => AC 010364* 1202 TAD TM8EEX 010365* 3021 DCA NKNT 010366* 1421 TAD I NKNT /GET ACTUAL REQUESTED BUFFER SIZE 010367* 7130 CLL CML RAR /WE NEED BUFFER 3/2 THIS SIZE 010370* 1421 TAD I NKNT 010371* 7041 CIA 010372* 5220 JMP RTRN1 /SEND IT BACK FOR USE 010376* 0007 010377* 3700 0400 PAGE 2000 RELOC /OS8 MONITOR SYSTEM VERS. 50 PAL8-V50X 10-JUL-88 PAGE 94 ABSLDR PAL8-V50X 10-JUL-88 PAGE 94-1 EJECT ABSLDR /ABSOLUTE LOADER FOR OS/8 - VERSION 6C 2000 *2000 3400 CTLBLK=3400 3400 BUFFER=CTLBLK 6230 RXM=6230 /KT8A INSTRUCTION 6200 LXM=6200 /KT8A INSTRUCTION 0020 XFIELD=20 0021 ORIGIN=21 0022 B1=22 0023 B2=23 0024 B3=24 0025 C1=25 0026 C2=26 0027 C3=27 0030 WD=30 0031 WD1=31 0032 WD2=32 0033 FILPTR=33 0034 PG7400=34 0035 LSTFLD=35 0070 XVALU=70 /XCODE 0071 LSTADR=71 0011 LOADXR=11 012000 4777 ABSLDR, JMS I (CTINIT 012001 4777 JMS I (CTINIT 012002 5205 JMP CALLCD 012003 5210 JMP NOCD 012004 4776 NEXTCD, JMS I (NEXFIL 012005 4574 CALLCD, JMS I [200 012006 0005 5 /COMMAND DECODE 012007 0216 0216 /ASSUMED EXTENSION IS .BN 012010 1107 NOCD, TAD [6001 012011 6201 CDF 0 012012 3571 DCA I [JSBITS /SET JSBITS TO SAVE CD AREA NEXT TIME 012013 6211 CDF 10 012014 1506 TAD I [MPARAM+1 012015 0156 AND [100 012016 7640 SZA CLA /IS /R SWITCH ON? 012017 4777 JMS I (CTINIT /YES - RE-INITIALIZE LOADER TABLES 012020 7400 LD7400, 7400 012021 1375 TAD (MIFILE 012022 3033 DCA FILPTR 012023 4774 JMS I (SETADR /GET THE STARTING ADDRESS IF IT APPEARS ON THE LINE ABSLDR PAL8-V50X 10-JUL-88 PAGE 95 012024 1373 NEWFIL, TAD (7001 012025 3243 DCA HANDLR 012026 1433 TAD I FILPTR 012027 0105 AND [7760 012030 7440 SZA /LENGTH OF 256 BLOCKS IMPLIES AT LEAST 256 012031 1151 TAD [17 012032 7132 CLL CML RTR 012033 7012 RTR 012034 3351 DCA RCDCNT 012035 1433 TAD I FILPTR 012036 2033 ISZ FILPTR 012037 7450 SNA 012040 5204 JMP NEXTCD /FILE POINTER = 0 MEANS NO MORE INPUT FILES 012041 4574 JMS I [200 012042 0001 1 /ASSIGN 012043 7001 HANDLR, 7001 /LOAD INTO 7000 IF NOT ALREADY LOADED 012044 5772 JMP I (IOERR 012045 1433 TAD I FILPTR 012046 3276 DCA RECNO 012047 2033 ISZ FILPTR 012050 7240 CLA CMA 012051 3346 DCA CHCNT 012052 3345 DCA REOF 012053 1504 TAD I [MPARAM /TEST FOR /I 012054 0371 AND (10 012055 7650 SNA CLA 012056 5770 JMP I (LOADER /I IS NOT ON 012057 2352 ISZ OFLG /IS /I ALLOWED? 012060 5767 JMP I (OERR /NO! 012061 5766 JMP I (SLASHO ABSLDR PAL8-V50X 10-JUL-88 PAGE 96 012062 0000 GETCH, 0 /GET-NEXT-INPUT-CHARACTER ROUTINE 012063 2313 ISZ JMPGET 012064 2346 ISZ CHCNT 012065 5313 JMPX, JMP JMPGET 012066 4765 JMS I (ABSCTC /CHECK FOR ^C 012067 1345 TAD REOF 012070 7640 SZA CLA 012071 5662 JMP I GETCH /EOF REACHED BEFORE LOGICAL END - ERROR 012072 6202 CIF 0 012073 4643 JMS I HANDLR 012074 0210 0210 /READ 2 RECORDS INTO FIELD 1 012075 3400 PBUFFR, BUFFER 012076 0000 RECNO, 0 012077 5341 JMP RERROR 012100 2276 ISZ RECNO 012101 2351 ISZ RCDCNT 012102 7410 SKP 012103 2345 ISZ REOF 012104 1364 TAD (-601 012105 3346 DCA CHCNT 012106 1275 TAD PBUFFR 012107 3347 DCA CHPTR 012110 1265 TAD JMPX 012111 3313 DCA JMPGET 012112 5263 JMP GETCH+1 ABSLDR PAL8-V50X 10-JUL-88 PAGE 97 012113 5313 JMPGET, JMP . 012114 5335 JMP CHAR1 012115 5331 JMP CHAR2 012116 1265 CHAR3, TAD JMPX 012117 3313 DCA JMPGET 012120 1747 TAD I CHPTR 012121 0220 AND LD7400 012122 7112 CLL RTR 012123 7012 RTR 012124 1350 TAD CHTMP 012125 7012 RTR 012126 7012 RTR 012127 2347 ISZ CHPTR 012130 5336 JMP GCHCOM 012131 1747 CHAR2, TAD I CHPTR 012132 0220 AND LD7400 012133 3350 DCA CHTMP 012134 2347 ISZ CHPTR 012135 1747 CHAR1, TAD I CHPTR 012136 0363 GCHCOM, AND (377 012137 2262 ISZ GETCH 012140 5662 JMP I GETCH 012141 7710 RERROR, SPA CLA 012142 5772 JMP I (IOERR /AN ACTUAL READ ERROR - AMAZING! 012143 2345 ISZ REOF 012144 5300 JMP RECNO+2 012145 0000 REOF, 0 012146 0000 CHCNT, 0 012147 0000 CHPTR, 0 012150 0000 CHTMP, 0 012151 0000 RCDCNT, 0 012152 7777 OFLG, -1 /SWITCH FOR /O OPTION 012163 0377 012164 7177 012165 2342 012166 3600 012167 3345 012170 2411 012171 0010 012172 3273 012173 7001 012174 2740 012175 7617 012176 2330 012177 4353 2200 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 98 2200 *2200 012200 6530 PUTWD, 6530 /ABSLDR VERSION NUMBER V5X 012201 7040 CMA 012202 0423 AND I B2 /AND OUT THE PAGE SLOT IN THE PAGE TABLE 012203 3423 DCA I B2 012204 1021 TAD ORIGIN 012205 3330 DCA ORGX 012206 1070 TAD XVALU 012207 7110 CLL RAR 012210 7640 SZA CLA /TEST FOR FIELDS 0 OR 1 012211 5272 JMP PUTIT /NEITHER - STORE AS IS 012212 7420 SNL 012213 5306 JMP FLD0 012214 1021 TAD ORIGIN 012215 7510 SPA 012216 1103 TAD [-400 012217 7710 SPA CLA 012220 5265 JMP FLD1 012221 7332 CLA CLL CML RTR 012222 1021 TAD ORIGIN 012223 7700 SMA CLA 012224 5227 JMP .+3 012225 2777 ISZ I (OVLYFG /SET FLAG THAT LOADER IS BEING OVERLAYED 012226 1376 TAD (2400 /LOADER OVERLAYS GO IN MTEMP+11 - MTEMP+15 012227 1021 LCOMPR, TAD ORIGIN 012230 7006 RTL 012231 7006 RTL 012232 7004 RAL 012233 0151 AND [17 012234 1375 TAD (MTEMP 012235 3252 RLCOMN, DCA PGTMP 012236 1324 TAD BUFREC 012237 7041 CIA 012240 1252 TAD PGTMP 012241 7650 SNA CLA 012242 5254 JMP DONTWR 012243 4314 JMS WRBUF 012244 7200 WRIBUF, CLA /MODIFIED..IF NOT /O GETS SZA CLA 012245 5254 JMP DONTWR 012246 6202 CIF 0 012247 4575 JMS I [SHNDLR 012250 0210 0210 012251 1400 CCOVLY /USE CATALOG SPACE 012252 0000 PGTMP, 0 012253 5774 JMP I (LIOERR 012254 3007 DONTWR, DCA OLDT9 /MARK THE CATALOG DESTROYED 012255 1252 TAD PGTMP 012256 3324 DCA BUFREC 012257 1021 TAD ORIGIN 012260 0127 AND [377 ABSLDR PAL8-V50X 10-JUL-88 PAGE 98-1 012261 1323 TAD PTRBFR 012262 3330 DCA ORGX 012263 6211 CDF 10 012264 5302 JMP PUTIT2 ABSLDR PAL8-V50X 10-JUL-88 PAGE 99 012265 7100 FLD1, CLL 012266 1021 TAD ORIGIN /IGNORE LOCATIONS ABOVE 17600 012267 1174 TAD [200 012270 7630 SZL CLA 012271 5600 JMP I PUTWD 012272 1020 PUTIT, TAD XFIELD 012273 0373 AND (104 /ARE WE OVER 32K? 012274 7640 SZA CLA 012275 6261 CDF 60 /DON'T KILL SYSTEM IF NO KT8A 012276 1020 TAD XFIELD 012277 1372 TAD (6201 012300 3301 DCA .+1 012301 7402 HLT 012302 1027 PUTIT2, TAD C3 012303 3730 DCA I ORGX 012304 6211 CDF10, CDF 10 012305 5600 JMP I PUTWD 012306 1021 FLD0, TAD ORIGIN /CHECK FOR STUFF IN PAGE 7000 012307 1371 TAD (1000 012310 7620 SNL CLA /IF NON ZERO,OVERLAY 012311 5272 JMP PUTIT 012312 2034 ISZ PG7400 /SET OVERLAY FLAG 012313 5227 JMP LCOMPR /FORM RECORD NO. MTEMP+16 012314 0000 WRBUF, 0 012315 1324 TAD BUFREC 012316 7450 SNA 012317 5714 JMP I WRBUF 012320 6202 CIF 0 012321 4575 JMS I [SHNDLR 012322 4210 4210 012323 1400 PTRBFR, CCOVLY 012324 0000 BUFREC, 0 012325 5774 JMP I (LIOERR /BAD I/O ON SYSTEM DEVICE 012326 3324 DCA BUFREC 012327 5714 JMP I WRBUF ABSLDR PAL8-V50X 10-JUL-88 PAGE 100 ORGX, 012330 0000 NEXFIL, 0 012331 4314 JMS WRBUF /WRITE WHATEVER 012332 1502 TAD I [MPARAM-1 012333 7710 SPA CLA 012334 5770 JMP I (BUILD 012335 1504 TAD I [MPARAM 012336 0367 AND (40 012337 7640 SZA CLA 012340 5770 JMP I (BUILD 012341 5730 JMP I NEXFIL 012342 0000 ABSCTC, 0 012343 1174 TAD [200 012344 6034 KRS 012345 1366 TAD (-203 012346 7650 SNA CLA 012347 6031 KSF 012350 5742 JMP I ABSCTC 012351 5765 JMP I (MGET 012365 7667 012366 7575 012367 0040 012370 2600 012371 1000 012372 6201 012373 0104 012374 3333 012375 0027 012376 2400 012377 3126 2400 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 101 2400 *2400 012400 4273 ITSOVR, JMS ASSEMB /END OF FILE 012401 7041 CIA 012402 1333 TAD LCKSUM 012403 7640 SZAIN, SZA CLA /TEST CHECKSUM 012404 5777 JMP I (BADCKS 012405 1506 TAD I [MPARAM+1 /TEST FOR S OPTION 012406 0264 AND L40 012407 7650 SNA CLA 012410 5776 JMP I (NEWFIL /TIME FOR ANOTHER FILE 012411 3333 LOADER, DCA LCKSUM 012412 3775 DCA I (OFLG /CANCEL FURTHER /I'S 012413 1203 TAD SZAIN 012414 3774 DCA I (WRIBUF 012415 4340 JMS GETFLD /FIELD SETTING 012416 1174 TAD [200 012417 3021 DCA ORIGIN /ORIGIN SETTING 012420 4773 JMS I (GETCH 012421 5776 JMP I (NEWFIL 012422 7450 SNA /IGNORE ZEROES 012423 5220 JMP .-3 012424 1155 TAD [-200 /LOOKING FOR LEADER CODE 012425 7640 SZA CLA 012426 5212 JMP LOADER+1 012427 4773 LEADER, JMS I (GETCH 012430 5776 JMP I (NEWFIL 012431 7450 SNA 012432 5212 JMP LOADER+1 012433 1155 TAD [-200 012434 7450 SNA /IS IT LEADER CODE? 012435 5227 JMP LEADER 012436 7500 NEWWD, SMA /IS IT POSSIBLY AFIELD PSEUDO-OP? 012437 5302 JMP FIELDW 012440 1174 TAD [200 /IF NOT STORE FOR ASSEMBLING 012441 3031 DCA WD1 ABSLDR PAL8-V50X 10-JUL-88 PAGE 102 012442 3772 NEWD1, DCA I (HT 012443 4773 JMS I (GETCH 012444 5771 JMP I (BADINP 012445 3032 DCA WD2 /STORE SECOND WORD FOR ASSEMBLING 012446 4773 JMS I (GETCH 012447 5771 JMP I (BADINP 012450 1155 TAD [-200 012451 7450 SNA /TEST FOR TRAILER CODE 012452 5200 JMP ITSOVR 012453 3030 DCA WD /STORE THIRD WORD 012454 4273 JMS ASSEMB 012455 7420 SNL 012456 5262 JMP DATAWD 012457 3021 DCA ORIGIN 012460 3770 DCA I (LOADWD /ZERO 'DATA LOADED' FLAG V3 012461 5265 JMP GETNXT 012462 4770 DATAWD, JMS I (LOADWD 012463 2021 ISZ ORIGIN 012464 0040 L40, 40 012465 1031 GETNXT, TAD WD1 012466 1032 TAD WD2 012467 1333 TAD LCKSUM 012470 3333 DCA LCKSUM 012471 1030 TAD WD 012472 5236 JMP NEWWD ABSLDR PAL8-V50X 10-JUL-88 PAGE 103 012473 0000 ASSEMB, 0 /ASSEMBLING WORDS... 012474 1031 TAD WD1 012475 7106 CLL RTL 012476 7006 RTL 012477 7006 RTL 012500 1032 TAD WD2 012501 5673 JMP I ASSEMB 012502 1367 FIELDW, TAD (-32 /TESTING TO ISOLATE FIELD PSEUDO-OP 012503 7450 SNA /IS IT A CONTROL/Z? 012504 5334 JMP CTLZ 012505 1366 TAD (-46 012506 7510 SPA /IS IT GREATER THAN 300? 012507 5326 JMP NOTXP 012510 3031 DCA WD1 012511 1031 TAD WD1 012512 0126 AND [7 012513 7640 SZA CLA 012514 5326 JMP NOTXP 012515 1031 TAD WD1 012516 0365 AND (70 012517 2772 ISZ I (HT /I.D. DISTINGUISHES BETWEEN GETFLD & FIELDW CALL 012520 4764 JMS I (XTEND /GO SEARCH FOR GREATER THAN 32K FIELD SETTING 012521 4773 JMS I (GETCH 012522 5771 JMP I (BADINP 012523 1155 TAD [-200 012524 7440 SZA 012525 5236 JMP NEWWD 012526 7200 NOTXP, CLA 012527 1333 TAD LCKSUM 012530 7650 SNA CLA 012531 5211 JMP LOADER 012532 5771 JMP I (BADINP 012533 0000 LCKSUM, 0 012534 1333 CTLZ, TAD LCKSUM 012535 7640 SZA CLA 012536 5771 JMP I (BADINP 012537 5776 JMP I (NEWFIL ABSLDR PAL8-V50X 10-JUL-88 PAGE 104 012540 0000 GETFLD, 0 /TEST FOR SPECIFIED FIELD SETTING 012541 3025 DCA C1 012542 3070 DCA XVALU /INITIALIZE XVALU 012543 3020 DCA XFIELD /AND XFIELD 012544 1763 TAD I (MPARAM+2 /COMMAND DECODER INPUT 012545 0362 AND (1774 012546 7450 SNA /WAS FIELD SPECIFIED? 012547 5740 JMP I GETFLD 012550 7006 RTL /IF SO, WHAT WAS IT? 012551 7004 RAL 012552 2025 ISZ C1 012553 7420 SNL 012554 5351 JMP .-3 012555 7240 CLA CMA 012556 1025 TAD C1 /FIELD...IS HERE 012557 4764 JMS I (XTEND /MAKE NECESSARY ADJUSTMENTS(KT8A) 012560 5740 JMP I GETFLD 012562 1774 012563 7645 012564 4000 012565 0070 012566 7732 012567 7746 012570 3127 012571 3302 012572 4053 012573 2062 012574 2244 012575 2152 012576 2024 012577 3310 2600 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 105 2600 *2600 /BUILD CORE CONTROL BLOCK /FIELDS AND PAGES TO BE SAVED HAVE BEEN ISOLATED /BY LOADWD.SEE CORTAB FOR MORE INFO ON TABLE. 012600 1377 BUILD, TAD (CORTAB+140 /ROUTINE TO SEARCH SAVE TABLE 012601 3022 DCA B1 012602 1776 TAD I (CORTAB+3 012603 7140 CLL CMA 012604 0105 AND [7760 012605 7650 SNA CLA 012606 7020 CML 012607 1775 TAD I (CORTAB 012610 7040 CMA 012611 0105 AND [7760 012612 7650 SNA CLA 012613 7001 IAC 012614 7012 RTR 012615 3774 DCA I (CTLBLK+3 012616 1374 TAD (CTLBLK+3 012617 3011 DCA LOADXR 012620 1373 TAD (40 012621 3337 DCA FIELDB 012622 3772 DCA I (CTLBLK 012623 4771 FLDLP, JMS I (EXTST /SET NEXT FIELD 012624 1337 TAD FIELDB 012625 1370 TAD (-2 012626 7700 SMA CLA /IGNORE 07600 AND 17600 IN CCB /V3 012627 7040 CMA /IN THE CORE MAP 012630 1101 TAD [-37 012631 3026 DCA C2 /PAGE COUNT 012632 3350 DCA LOWERA 012633 7240 STA 012634 3305 DCA LUPPER /KILL LAST UPPER LIMIT 012635 4767 MTLOOP, JMS I (SHFT 012636 7620 SNL CLA 012637 5246 JMP INUSE 012640 1350 TAD LOWERA 012641 1174 MTRSME, TAD [200 012642 3350 DCA LOWERA 012643 2026 ISZ C2 012644 5235 JMP MTLOOP 012645 5223 JMP FLDLP ABSLDR PAL8-V50X 10-JUL-88 PAGE 106 012646 1350 INUSE, TAD LOWERA 012647 1174 TAD [200 012650 3340 DCA UPPERA 012651 2026 ISZ C2 012652 7410 SKP 012653 5261 JMP ENDRGN-2 012654 4767 JMS I (SHFT 012655 7630 SZL CLA 012656 5263 JMP ENDRGN 012657 1340 TAD UPPERA 012660 5247 JMP INUSE+1 012661 7240 CLA CMA 012662 3026 DCA C2 012663 1350 ENDRGN, TAD LOWERA 012664 4777 JMS I (AMERGE 012665 1350 TAD LOWERA 012666 0103 AND [7400 012667 3411 DCA I LOADXR 012670 2772 ISZ I (CTLBLK 012671 1350 TAD LOWERA 012672 0103 ACOMPR, AND [7400 012673 7041 CIA 012674 1340 TAD UPPERA 012675 7110 CLL RAR 012676 1304 TAD XFB 012677 3411 DCA I LOADXR 012700 1340 TAD UPPERA 012701 3305 DCA LUPPER 012702 1340 TAD UPPERA 012703 5241 JMP MTRSME 012704 0000 XFB, 0 012705 7777 LUPPER, -1 ABSLDR PAL8-V50X 10-JUL-88 PAGE 107 012706 1506 FLDOVR, TAD I [MPARAM+1 /CLOBBER BATCH? 012707 0100 AND [400 012710 1766 TAD I (MPARAM+2 /AH ED, BUG IF YOU SPEC /P/1 TO LOADER 012711 0365 AND (403 012712 1774 TAD I (CTLBLK+3 012713 3774 DCA I (CTLBLK+3 012714 1035 TAD LSTFLD 012715 0364 AND (37 012716 4763 JMS I (BANKSW /ADJUST FOR CDF 012717 1177 TAD [CDF CIF 0 012720 3762 DCA I (CTLBLK+1 012721 7410 SKP 012722 1174 ORG200, TAD [200 012723 1071 TAD LSTADR 012724 7440 SZA /V3 012725 5335 JMP NOORG /V3 ALLOW EXPLICIT START ADDR TO OVERRIDE DEFAULT 012726 1761 TAD I (LOADWD /V3 NO EXPLICIT START ADDR 012727 7640 SZA CLA /V3 IS IT SELF STARTING BIN FORMAT? 012730 5322 JMP ORG200 /V3 NO 012731 1020 TAD XFIELD /V3 YES 012732 1177 TAD [CIF CDF 0 /V3 012733 3762 DCA I (CTLBLK+1 /V3 012734 1760 TAD I (ORIGIN /V3 012735 3757 NOORG, DCA I (CTLBLK+2 012736 5756 JMP I (LGTOUT /WRITE CONTROL BLOCK AND EXIT 012737 0000 FIELDB, 0 ABSLDR PAL8-V50X 10-JUL-88 PAGE 108 UPPERA, 012740 0000 SETADR, 0 012741 1755 TAD I (MPARAM+3 012742 7450 SNA /IS THERE A STARTING ADDRESS SPECIFIED? 012743 5740 JMP I SETADR /NO 012744 3071 DCA LSTADR 012745 1502 TAD I [MPARAM-1 012746 3035 DCA LSTFLD 012747 5740 JMP I SETADR 012750 0000 LOWERA, 0 012755 7646 012756 3002 012757 3402 012760 0021 012761 3127 012762 3401 012763 4115 012764 0037 012765 0403 012766 7645 012767 3226 012770 7776 012771 4054 012772 3400 012773 0040 012774 3403 012775 4200 012776 4203 012777 4340 3000 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 109 3000 *3000 013000 7600 ZOFILE, MOFILE 013001 7731 ZOUCNT, -47 013002 1034 LGTOUT, TAD PG7400 013003 7650 SNA CLA 013004 5213 JMP .+7 013005 6202 CIF 0 013006 4575 JMS I [SHNDLR 013007 0300 0300 013010 7000 7000 013011 0045 MTEMP+16 013012 5777 JMP I (LIOERR 013013 6202 CIF 0 013014 4575 JMS I [SHNDLR 013015 4210 4210 013016 3200 CTLBLK-200 013017 0037 MTEMP+10 013020 5777 JMP I (LIOERR 013021 1776 TAD I (CTLBLK+2 013022 3324 DCA CTL2 /MOVE THINGS INTO THIS PAGE 013023 1775 TAD I (CTLBLK+3 013024 3325 DCA CTL3 /SO WE CAN REFERENCE THEM WITH DF=0 013025 1504 TAD I [MPARAM 013026 0374 AND (40 013027 7650 SNA CLA 013030 5256 JMP LNOGO 013031 1325 TAD CTL3 013032 7004 RAL 013033 7710 SPA CLA /ARE WE OVERLAYING THE I/O MONITOR? 013034 5242 JMP LKICKM /NO 013035 6201 CDF 0 013036 3571 DCA I [JSBITS /YES - SET JSBITS TO FORCE A READ 013037 6211 CDF 10 013040 4574 JMS I [200 013041 0013 13 /RESET I/O DEVICES AND FILES 013042 4574 LKICKM, JMS I [200 013043 0011 11 /KICK MONITOR OUT /******************************************** /NO PAGE ZERO REFERENCES AFTER THIS POINT /PAGE ZERO MAY CONTAIN USER CODE /******************************************** 013044 3600 DCA I ZOFILE /ZERO OUT COMMAND DECODER AREA 013045 2200 ISZ ZOFILE 013046 2201 ISZ ZOUCNT 013047 5244 JMP .-3 013050 1773 TAD I (CTLBLK+1 013051 6201 CDF 0 013052 3772 DCA I (MSTCDF 013053 1324 TAD CTL2 013054 3771 DCA I (MSTADR /SET UP STARTING ADDRESS IN FIELD 0 ABSLDR PAL8-V50X 10-JUL-88 PAGE 109-1 013055 5267 JMP LMOVRD ABSLDR PAL8-V50X 10-JUL-88 PAGE 110 013056 1325 LNOGO, TAD CTL3 /ABOVE COMMENT DOESN'T APPLY TO NEXT 9 LINES 013057 7710 SPA CLA /ARE WE OVERLAYING THE KEYBOARD MONITOR? 013060 1370 TAD (5 /NO - RETURN TO NON-SAVING ENTRY 013061 1155 TAD [7600 013062 6201 CDF 0 013063 3771 DCA I (MSTADR 013064 1306 TAD ZCDIF0 013065 3772 DCA I (MSTCDF 013066 7240 CLA CMA 013067 6211 LMOVRD, CDF 10 013070 3767 DCA I (7700 /SET 7700 TO -1 IF NO GO 013071 1773 TAD I (CTLBLK+1 013072 6201 CDF 0 013073 3766 DCA I (JFIELD /SET UP PARAMETERS IN FIELD 0 013074 1324 TAD CTL2 013075 3765 DCA I (JSTART 013076 1325 TAD CTL3 013077 3764 DCA I (JSBITS 013100 1315 LMOVLP, TAD COMBO 013101 3713 DCA I COMBPT 013102 2300 ISZ LMOVLP 013103 2313 ISZ COMBPT 013104 2314 ISZ COMBCT 013105 5300 JMP LMOVLP /MOVE THE READ OF THE LOADER OVERLAY INTO FIELD 0 013106 6203 ZCDIF0, CDF CIF 0 013107 1326 TAD OVLYFG 013110 7640 SZA CLA 013111 5763 JMP I (MREAD /LOADER OVERLAYED - GO READ OVERLAY 013112 5762 JMP I (MSTCDF-1 /LOADER NOT OVERLAYED - WHY READ? 013113 7756 COMBPT, MREAD-1 013114 7771 COMBCT, -7 013115 7607 COMBO, 7607 013116 4756 MREAD-1&177+4600 /JMS I .-1 013117 1210 1210 013120 2000 2000 013121 0040 MTEMP+11 /LOCATION OF SCRATCH BLOCKS FOR LOADER OVERLAY 013122 7402 HLT 013123 5372 MSTCDF-1&177+5200 /JMP MSTCDF-1 013124 0000 CTL2, 0 013125 0000 CTL3, 0 013126 0000 OVLYFG, 0 ABSLDR PAL8-V50X 10-JUL-88 PAGE 111 /LOADWD CALCULATES AN INDEX INTO CORTAB /IT SETS APPROPRIATE BITS FOR IDENTIFYING MEMORY AREA /TO BE SAVED BY CCB.SEE CORTAB FOR MORE INFO 013127 0000 LOADWD, 0 /ROUTINE TO IDENTIFY FIELDS AND PAGES 013130 3027 DCA C3 /TO BE SAVED. 013131 1070 TAD XVALU /FIELD VALUE-INDEX INTO CORTAB(SEE CORTAB) 013132 7104 CLL RAL 013133 1070 TAD XVALU 013134 1361 TAD (CORTAB-1 013135 3023 DCA B2 013136 1021 TAD ORIGIN 013137 0155 AND [7600 013140 7106 CLL RTL 013141 7006 RTL 013142 7006 RTL 013143 2023 ISZ B2 013144 1360 TAD (-14 013145 7500 SMA 013146 5343 JMP .-3 013147 3324 DCA CTL2 013150 7120 CLL CML 013151 7004 RAL 013152 2324 ISZ CTL2 013153 5351 JMP .-2 013154 4757 JMS I (PUTWD 013155 5727 JMP I LOADWD 013157 2200 013160 7764 013161 4177 013162 7772 013163 7757 013164 7746 013165 7745 013166 7744 013167 7700 013170 0005 013171 7775 013172 7773 013173 3401 013174 0040 013175 3403 013176 3402 013177 3333 3200 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 112 3200 *3200 013200 0000 ERPCH, 0 013201 0377 AND (77 /GET LOW ORDER 6 BITS 013202 7440 SZA 013203 5213 JMP NZCHAR 013204 4244 JMS ERR FILMSG, IFDEF GERMAN < TEXT / DATEI 0/> 013205 4006 IFNDEF GERMAN < TEXT / FILE 0/> 013206 1114 013207 0540 013210 4040 013211 4060 013212 0000 013213 1376 NZCHAR, TAD (240 013214 0377 AND (77 013215 1376 TAD (240 /CONVERT TO ASCII 013216 4220 JMS LDRPCH /PRINT 013217 5600 JMP I ERPCH /AND RETURN 013220 0000 LDRPCH, 0 013221 6046 TLS 013222 6041 TSF 013223 5222 JMP .-1 013224 7200 CLA 013225 5620 JMP I LDRPCH 013226 0000 SHFT, 0 013227 7346 CLA CLL CMA RTL /-3 013230 3027 DCA C3 013231 7326 CLA CLL CML RTL /2 013232 1022 TAD B1 013233 3024 SHFTLP, DCA B3 013234 1424 TAD I B3 013235 7004 RAL 013236 3424 DCA I B3 013237 7260 CLA CMA CML /CML AND CML 013240 1024 TAD B3 013241 2027 ISZ C3 013242 5233 JMP SHFTLP 013243 5626 JMP I SHFT /NOTE: SHFT LEAVES AC NON-ZERO ABSLDR PAL8-V50X 10-JUL-88 PAGE 113 013244 0000 ERR, 0 013245 7200 CLA 013246 6211 CDF 10 013247 1775 TAD I (FILPTR /ZERO CHAR GETS REPLACED BY "FILE #X" 013250 1374 TAD (1122 /MAGIC NUMBER 013251 7130 CLL CML RAR /AC NOW CONTAINS "#X" 013252 3211 DCA FILMSG+4 013253 1644 ERRLUP, TAD I ERR 013254 7450 SNA 013255 5266 JMP EOMESG /MESSAGE MUST BE EVEN NUMBER OF CHARS LONG 013256 7012 RTR 013257 7012 RTR 013260 7012 RTR 013261 4200 JMS ERPCH 013262 1644 TAD I ERR 013263 4200 JMS ERPCH 013264 2244 ISZ ERR 013265 5253 JMP ERRLUP 013266 1373 EOMESG, TAD (215 /TERMINATE MESSAGE WITH CR-LF 013267 4220 JMS LDRPCH 013270 1321 TAD T212 013271 4220 JMS LDRPCH 013272 5772 ERTRN, JMP I (ABSLDR /RETURN TO LOADER STARTING ADDRESS 013273 4244 IOERR, JMS ERR IFDEF GERMAN < TEXT \L/S-FEHLER,\> 013274 1157 IFNDEF GERMAN < TEXT \I/O ERROR,\> 013275 1740 013276 4005 013277 2222 013300 1722 013301 5400 013302 4244 BADINP, JMS ERR IFDEF GERMAN < TEXT /SCHLECHTE/> 013303 0201 IFNDEF GERMAN < TEXT /BAD INPUT/> 013304 0440 013305 1116 013306 2025 013307 2400 013310 4244 BADCKS, JMS ERR IFDEF GERMAN < TEXT /?PRUEFSUMME?,/> 013311 0201 IFNDEF GERMAN < TEXT /BAD CHECKSUM,/> 013312 0440 013313 0310 013314 0503 013315 1323 013316 2515 013317 5400 ABSLDR PAL8-V50X 10-JUL-88 PAGE 114 013320 4771 NULERR, JMS I (CTINIT 013321 0212 T212, 212 013322 4244 JMS ERR IFDEF GERMAN < TEXT /NICHTS GELADEN/> 013323 1617 IFNDEF GERMAN < TEXT /NO INPUT /> 013324 4011 013325 1620 013326 2524 013327 4040 013330 4040 013331 4040 013332 0000 013333 4244 LIOERR, JMS ERR IFDEF GERMAN < TEXT \SYS: L/S-FEHLER \> 013334 2331 IFNDEF GERMAN < TEXT \SYSTEM I/O ERROR\> 013335 2324 013336 0515 013337 4011 013340 5717 013341 4005 013342 2222 013343 1722 013344 0000 013345 4244 OERR, JMS ERR IFDEF GERMAN < TEXT \/I VERBOTEN!\> 013346 5711 IFNDEF GERMAN < TEXT \/I FORBIDDEN\> 013347 4006 013350 1722 013351 0211 013352 0404 013353 0516 013354 0000 013371 4353 013372 2000 013373 0215 013374 1122 013375 0033 013376 0240 013377 0077 3400 PAGE /INITIAL DIRECTORY FOR MONITOR /DEFINES OS/8 ABSOLUTE LOADER (ABSLDR.SV) 1400 RELOC 1400 011400* 7776 DCOUNT, -2 /TWO ENTRIES 011401* 0070 DORG, MFREE /FILE STORAGE STARTS AT BLOCK "MFREE" 011402* 0000 DLINK, 0 /THIS IS THE ONLY DIRECTORY RECORD 011403* 0000 DFLAG, 0 /THERE ARE NO OPEN OUTPUT FILES ON THIS DEVICE 011404* 7777 DWASTE, -1 /# OF WASTED WORDS PER ENTRY 011405* 0102 DPROPR, 0102 /AB ABSLDR PAL8-V50X 10-JUL-88 PAGE 114-1 011406* 2314 2314 /SL 011407* 0422 0422 /DR 011410* 2326 2326 /.SV 011411* 0413 0413 /ENCODING FOR 1-JAN-89 (7777 SHOULD BE 0400) 011412* 7772 -6 /SIX BLOCKS LONG( 1 BLOCK = 256 WORDS) 011413* 0000 0 /EMPTY SPACE 011414* 7777 -1 /OVERLAYED BY DEVICE DEPENDENT PART WITH LENGTH IFNZRO .-1415 <CNFER,QQQ> 3415 RELOC ABSLDR PAL8-V50X 10-JUL-88 PAGE 115 3600 *CTLBLK+200 /CODE FOR OVERLAY OPTION IS HERE.IF /I IS NOT /USED IMMEDIATELY, THIS CODE WILL PROBABLY BE DESTROYED, /AS IT IS USED FOR A BUFFER 013600 7240 SLASHO, CLA CMA 013601 3777 DCA I (OFLG /RE ENABLE /I 013602 1776 TAD I (HANDLR 013603 3337 DCA GLONK /ENTRY POINT TO HANDLER 013604 1775 TAD I (RECNO 013605 3212 DCA CCBLOK 013606 6202 CIF 0 013607 4737 JMS I GLONK /READ IN CORE CONTROL BLOCK 013610 0110 0110 013611 3400 CCBPTR, CTLBLK 013612 0000 CCBLOK, 0 013613 5774 JMP I (OERR /DATA FAILURE 013614 1611 TAD I CCBPTR /NO. SEGMENTS 013615 7104 CLL RAL 013616 7130 STL RAR /TAKE OUT 32KOVER BIT 013617 3341 DCA SEGCNT 013620 1341 TAD SEGCNT 013621 7040 CMA /TEST FOR BAD CORE IMAGE 013622 0165 AND [7740 013623 7640 SZA CLA 013624 5773 JMP I (BADINP /NOT CORE IMAGE 013625 1744 TAD I SGSTAD /THIS CODE IS NEW FOR V3D 013626 4772 JMS I (CDFLOG /CONVERT CDF TO LOGICAL 013627 3035 DCA LSTFLD 013630 2344 ISZ SGSTAD 013631 1744 TAD I SGSTAD 013632 3071 DCA LSTADR 013633 2344 ISZ SGSTAD 013634 1744 TAD I SGSTAD /GET JSW FROM SAVE FILE 013635 0100 AND [400 013636 3306 DCA TEMP /PRESERVE /P 013637 1506 TAD I [MPARAM+1 013640 0371 AND (7377 013641 1306 TAD TEMP 013642 3506 DCA I [MPARAM+1 013643 1744 TAD I SGSTAD 013644 0370 AND (3 /PRESERVE LAST 2 BITS 013645 3306 DCA TEMP 013646 1767 TAD I (MPARAM+2 013647 0137 AND [7774 013650 1306 TAD TEMP 013651 3767 DCA I (MPARAM+2 013652 2344 ISZ SGSTAD ABSLDR PAL8-V50X 10-JUL-88 PAGE 116 013653 1744 NEWSEG, TAD I SGSTAD /SEGMENT START ADDRESS 013654 3021 DCA ORIGIN 013655 1743 TAD I SGFDLT /FIELD AND LENGTH 013656 4766 JMS I (CCBLOG /CONVERT CCB TO LOGICAL 013657 1743 TAD I SGFDLT 013660 0173 AND [7700 013661 7450 SNA /V3C 013662 7330 STL CLA RAR /AC4000 013663 3342 DCA SEGLTH 013664 1342 TAD SEGLTH 013665 1155 TWOPG, TAD [7600 013666 7700 SMA CLA /NO.. IS TWO PAGE SEGMENT LEFT? 013667 1155 TAD [7600 /YES..-400 TO WORD COUNT 013670 1155 TAD [7600 /NO.. -200 TO WORD COUNT 013671 3340 DCA WDCT 013672 1342 TAD SEGLTH 013673 1155 TAD [7600 /BUMP DOWN LENGTH LEFT 013674 3342 DCA SEGLTH 013675 2212 ISZ CCBLOK /POINT TO NEXT DATA RECORD 013676 1212 TAD CCBLOK 013677 3306 DCA DATRC 013700 3007 DCA OLDT9 /MARK DIRECTORY DESTROYED 013701 4765 JMS I (ABSCTC /CHECK FOR ^C 013702 6202 CIF 0 013703 4737 JMS I GLONK /READ THE DATA RECORD IN 013704 0210 0210 013705 1400 CCOVLY /INTO 11400 TEMP, 013706 0000 DATRC, 0 013707 5764 JMP I (IOERR /DATA FAILURE 013710 1363 TAD (1377 /SET UP INPUT POINTER 0010 CHARPT=10 013711 3010 DCA CHARPT 013712 1410 LOOPI, TAD I CHARPT 013713 4762 JMS I (LOADWD /MOST OF THE WORK 013714 2021 ISZ ORIGIN 013715 7400 L7400, 7400 /NOP 013716 2340 ISZ WDCT /FINISHED THIS BLOCK? 013717 5312 JMP LOOPI 013720 4761 JMS I (WRBUF /YES.. WRITE THE STUFF OUT 013721 1342 TAD SEGLTH /V3C (REARRANGED) 013722 7540 SMA SZA /ALL PAGES DONE? 013723 5265 JMP TWOPG /NO, NEXT! (IF DONE, FALL INTO 'GTSEG') 013724 7200 CLA 013725 2341 ISZ SEGCNT /YES, ANY MORE SEGMENTS 013726 7410 SKP 013727 5345 JMP RENEW /RESET CCB POINTER FOR NEXT /I 013730 7326 CLA CLL CML RTL 013731 1344 TAD SGSTAD ABSLDR PAL8-V50X 10-JUL-88 PAGE 116-1 013732 3344 DCA SGSTAD 013733 7326 CLA CLL CML RTL 013734 1343 TAD SGFDLT 013735 3343 DCA SGFDLT /POINT TO NEXT CCB ENTRIES 013736 5253 JMP NEWSEG ABSLDR PAL8-V50X 10-JUL-88 PAGE 117 013737 0000 GLONK, 0 /HANDLER ENTRY POINT HERE 013740 0000 WDCT, 0 013741 0000 SEGCNT, 0 013742 0000 SEGLTH, 0 3400 CTLBLK=3400 013743 3405 SGFDLT, CTLBLK+5 /FIELD AND LENGTH WORD 013744 3401 SGSTAD, CTLBLK+1 /SEGMENT START ADDRESS 013745 1360 RENEW, TAD (CTLBLK+1 013746 3344 DCA SGSTAD 013747 1357 TAD (CTLBLK+5 013750 3343 DCA SGFDLT 013751 5756 JMP I (NEWFIL 013756 2024 013757 3405 013760 3401 013761 2314 013762 3127 013763 1377 013764 3273 013765 2342 013766 4124 013767 7645 013770 0003 013771 7377 013772 4136 013773 3302 013774 3345 013775 2076 013776 2043 013777 2152 4000 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 118 4000 *4000 014000 0000 XTEND, 0 /CODE TO HANDLE EXTENDED MEMORY BANK MANIPULATIONS 014001 3070 DCA XVALU /STORE INFO TO BE PROCESSED 014002 1253 TAD HT /IS IT A GETFLD OR A FIELDW CALL? 014003 7640 SZA CLA /IF GETFLD CALL ALL WE WANT TO DO IS TRANSFORM 014004 5217 JMP XFLDT 014005 1070 XNDT, TAD XVALU / TRANSFORM FROM ABCDE TO ACDEB00 014006 4315 JMS BANKSW 014007 3020 DCA XFIELD 014010 1020 TAD XFIELD /32K OVER? 014011 0077 AND [70 014012 7640 SZA CLA 014013 1377 TAD (7000 /YES, ENABLE KT8A 014014 6200 LXM /NO, DISABLE KT8A 014015 7200 CLA /IF NONE 014016 5600 JMP I XTEND 014017 4776 XFLDT, JMS I (GETCH /FIELDW CODE TEST FOR SECOND FIELD WORD 014020 5775 JMP I (BADINP 014021 1155 TAD [-200 014022 7450 SNA 014023 5774 JMP I (NOTXP 014024 7500 SMA 014025 5237 JMP XTD 014026 1174 TAD [200 /REPEATED NEWWD CODE 014027 3031 DCA WD1 /REPEATED NEWWD CODE 014030 1070 TAD XVALU /IF NO SECOND FIELD WORD WE PROCEED AS NORMALLY 014031 3020 DCA XFIELD 014032 1070 TAD XVALU 014033 7112 CLL RTR 014034 7010 RAR 014035 3070 DCA XVALU 014036 5773 JMP I (NEWD1 /BY PASS NEWWD CODE -- ALREADY RAN IT 014037 1372 XTD, TAD (-32 /REPITITION OF FIELDW CODE 014040 7450 SNA /IS IT CONTROL/Z? 014041 5771 JMP I (CTLZ 014042 1370 TAD (-46 014043 7510 SPA /IS IT ABOVE 300? 014044 5774 JMP I (NOTXP 014045 7112 CLL RTR 014046 7010 RAR 014047 0126 AND [7 014050 1031 TAD WD1 014051 3070 DCA XVALU 014052 5205 JMP XNDT 014053 0000 HT, 0 ABSLDR PAL8-V50X 10-JUL-88 PAGE 119 014054 0000 EXTST, 0 /BUILD CCB CODE TO HANDLE EXTENDED MEMORY 014055 7340 CLL STA /FIELDB STARTS AT 40 014056 1767 TAD I (FIELDB /TRANSFORM LOGICAL TO CCB 014057 3767 DCA I (FIELDB /000/000/0AB/CDE/ TO 014060 7420 SNL /000/000/CDE/BA0/ 014061 5300 JMP FLDEND /FIELDB WAS ZERO-END 014062 1767 TAD I (FIELDB 014063 7002 BSW 014064 7106 CLL RTL /A /BCD/E00/000/000/ 014065 7430 SZL 014066 1156 TAD [100 /BCD/E0A/000/000/ 014067 7104 CLL RAL /B /CDE/0A0/000/000/ 014070 7430 SZL 014071 1100 TAD [400 /CDE/BA0/000/000/ 014072 7002 BSW 014073 3766 DCA I (XFB 014074 7346 CLA CLL CMA RTL /-3 014075 1022 TAD B1 014076 3022 DCA B1 014077 5654 JMP I EXTST 014100 1765 FLDEND, TAD I (CTLBLK 014101 7450 SNA 014102 5764 JMP I (NULERR 014103 7041 CIA 014104 3765 DCA I (CTLBLK 014105 6230 RXM 014106 7650 SNA CLA 014107 5763 JMP I (FLDOVR 014110 1765 TAD I (CTLBLK 014111 7004 RAL 014112 7110 CLL RAR 014113 3765 DCA I (CTLBLK 014114 5763 JMP I (FLDOVR 014115 0000 BANKSW, 0 /000/000/0AB/CDE/ TO 000/00A/CDE/B00 014116 7112 CLL RTR /ISOLATE BANK AND FIELD BITS 014117 7012 RTR 014120 7002 BSW /000/00A/CDE/000 B 014121 7430 SZL /ADJUST FOR PROPER CDF CIF 014122 1362 TAD (4 /WAS THERE AN "B" BIT? /YES: 000/00A/CDE/B00 014123 5715 JMP I BANKSW ABSLDR PAL8-V50X 10-JUL-88 PAGE 120 014124 0000 CCBLOG, 0 /CONVERT CCB TO LOGICAL 014125 0361 AND (76 /000/000/CDE/BA0 TO 014126 7112 CLL RTR /000/000/0AB/CDE 014127 7430 SZL /"A" BIT ON? 014130 1360 TAD (40 /000/000/A0C/DEB 014131 7110 CLL RAR 014132 7430 SZL /"B" BIT ? 014133 1357 TAD (10 014134 4200 JMS XTEND 014135 5724 JMP I CCBLOG 014136 0000 CDFLOG, 0 /CONVERT CDF TO LOGICAL 014137 0356 AND (174 /000/00A/CDE/B00 TO 000/000/0AB/CDE 014140 7002 BSW /CDE/B00/000/00A 014141 7110 CLL RAR 014142 7012 RTR /0A0/CDE/B00/000 014143 7002 BSW /B00/000/0A0/CDE 014144 7510 SPA 014145 1355 TAD (4010 014146 4200 JMS XTEND 014147 1070 TAD XVALU 014150 5736 JMP I CDFLOG 014155 4010 014156 0174 014157 0010 014160 0040 014161 0076 014162 0004 014163 2706 014164 3320 014165 3400 014166 2704 014167 2737 014170 7732 014171 2534 014172 7746 014173 2442 014174 2526 014175 3302 014176 2062 014177 7000 4200 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 121 4200 *4200 /CORTAB IS A TABLE FOR STORING SAVE INFO /FOR EACH OF THE 0-37 FIELDS, THERE ARE THREE /IDENTIFYING WORDS...THE BITS IN THESE WORDS /CORRESPOND TO PAGES IN THE RESPECTIVE FIELD /E.G. CORTAB+130 REFERS TO 130%3=35TH FIELD /--- FIRST WORD,I.E. PAGES 0-14... /LOADWD BUILDS THE TABLE... /BUILD REFERENCES IT FOR CONSTRUCTING THE CCB 014200 0000 CORTAB, ZBLOCK 140 014340 0000 AMERGE, 0 /MERGE SEGMENTS 014341 0103 AND [7400 /COMES IN WITH LOWERA 014342 7041 CIA 014343 1777 TAD I (LUPPER /LAST UPPER LIMIT 014344 7640 MCSIZ, SZA CLA 014345 5740 JMP I AMERGE /TOO FAR APART 014346 7344 CLA CLL CMA RAL 014347 1011 TAD LOADXR /BACK TO OLD SEGMENT 014350 3011 DCA LOADXR 014351 1411 TAD I LOADXR /LOWER OF OLD SEGMENT 014352 5776 JMP I (ACOMPR /DON'T INC CCBCNT 014353 0000 CTINIT, 0 014354 4200 CALONC, JMS ONCE /CALL ONCE-ONLY CODE 014355 1344 TAD MCSIZ /-140=7640=SZA CLA 014356 3025 DCA C1 014357 3020 DCA XFIELD /INITIALIZE XFIELD 014360 1375 TAD (CORTAB-1 014361 3011 DCA LOADXR 014362 7240 CLA CMA 014363 3411 DCA I LOADXR 014364 2025 ISZ C1 014365 5362 JMP .-3 014366 3035 DCA LSTFLD 014367 3071 DCA LSTADR /V3 SET INITIAL STARTING ADDRESS TO 0 014370 3774 DCA I (OVLYFG 014371 3034 DCA PG7400 014372 2353 ISZ CTINIT 014373 5753 JMP I CTINIT 014374 3126 014375 4177 014376 2672 014377 2705 4400 PAGE ABSLDR PAL8-V50X 10-JUL-88 PAGE 122 4200 *CORTAB 014200 0000 ONCE, 0 /ONCE-ONLY CODE TO CHECK FOR CORRECT MONITOR 014201 3354 DCA CALONC /DON'T CALL AGAIN 014202 1100 TAD [400 014203 1226 TAD K7400 014204 7640 SZA CLA 014205 5212 JMP OLDMON 014206 1126 TAD [7 014207 1227 TAD M7 014210 7650 SNA CLA 014211 5600 JMP I ONCE /THEY AGREE 014212 1233 OLDMON, TAD KERR 014213 3630 DCA I XERTRN 014214 4631 JMS I PERR /THEY DON'T IFDEF GERMAN < TEXT /USR IST ALT!/> /MUST BE AN EVEN # OF CHARS LONG 014215 1116 IFNDEF GERMAN < TEXT /INCOMPATIBLE/> 014216 0317 014217 1520 014220 0124 014221 1102 014222 1405 014223 0000 014224 6203 CIF CDF 0 014225 5632 JMP I K7605 014226 7400 K7400, 7400 014227 7771 M7, -7 014230 3272 XERTRN, ERTRN 014231 3244 PERR, ERR 014232 7605 K7605, 7605 014233 5644 KERR, ERR&177+5600 ABSLDR PAL8-V50X 10-JUL-88 PAGE 123 /PAGE 0 - TEMPORARIES AND LITERALS. /LOCATIONS 0-3 ARE RESERVED FOR POINTERS TO KEY LOCATIONS /IN THE MONITOR (SO THE CUSPS CAN GET AT THESE LOCATIONS) /LOCATIONS 4-6 ARE RESERVED FOR SYSTEM ODT FIELD 1 BREAKPOINTS 0007 *7 010007 0000 OLDT9, 0 /POINTER TO DEVICE HANDLER OF DIRECTORY IN CORE 0015 *15 010015 0000 XR1, 0 010016 0000 XR2, 0 010017 0000 XR, 0 0020 *20 /ENTRY TO MONITOR FROM A CALL TO 17700 - /CAN BE DESTROYED AFTER IT IS EXECUTED 010020 1441 MSTART, TAD I T1 010021 3055 DCA MACARG 010022 1573 TAD I [7700 010023 3574 DCA I [MONITO 010024 1572 TAD I [SMCIF 010025 3442 DCA I T2 /FAKE A CALL TO "MONITO" 010026 1574 TAD I [MONITO 010027 7004 RAL 010030 7720 SNL SMA CLA 010031 1572 TAD I [SMCIF 010032 1043 TAD T3 010033 7650 SNA CLA /CHECK FOR A CALL FROM 10000-11777 010034 5547 JMP I [MERROR /YES - GIVE ERROR IMMEDIATELY 010035 5444 JMP I T4 /NO - SLIDE INTO MONITOR CODE 0036 *36 /POINTERS TO INTERNAL MONITOR LOCATIONS FOR "BUILD" 010036 0564 SDNAME /SYSTEM DEVICE NAME TABLE 010037 0772 SDVHND /DEVICE HANDLER ENTRY TABLE ABSLDR PAL8-V50X 10-JUL-88 PAGE 124 0040 *40 /LOCATIONS 20-37 RESERVED FOR CUSP SCRATCH SPACE 010040 0001 USERFG, 1 /MUST BE IN 40 - SEE CD LISTING 010041 7740 T1, MARG1 /MUST BE AT 41 010042 0345 T2, FGETX 010043 1565 T3, -6213 010044 0206 T4, MRENTR 010045 0000 T5, 0 010046 0000 T6, 0 010047 0000 T7, 0 010050 0000 T8, 0 010051 0000 T9, 0 010052 0000 NAME, 0 010053 0000 NFILES, 0 010054 0000 ASFLAG, 0 010055 0000 MACARG, 0 010056 0000 EPASS, 0 010057 4000 MERRNO, 4000 010060 6202 MEOXIT, CIF 0 /RETURN FROM ENTER OVERLAY 010061 4575 JMS I [SHNDLR 010062 0210 0210 010063 1000 1000 010064 0015 MONTOR+2 /RESTORE LOCS 1000-1377 OF USR 010065 7402 HLT /HELP! 010066 5467 JMP I .+1 010067 1011 MENTER /RESTART ENTER OPERATION COMPLETELY ABSLDR PAL8-V50X 10-JUL-88 PAGE 125 $ 010077 0070 010100 0400 010101 7741 010102 7642 010103 7400 010104 7643 010105 7760 010106 7644 010107 6001 010110 0323 010111 7773 010112 7770 010113 0252 010114 0701 010115 0767 010116 0610 010117 0760 010120 1403 010121 7666 010122 0371 010123 6006 010124 0651 010125 0752 010126 0007 010127 0377 010130 1273 010131 0613 010132 0622 010133 0251 010134 4210 010135 1402 010136 0343 010137 7774 010140 1404 010141 1400 010142 0250 010143 1401 010144 7757 010145 7646 010146 0771 010147 0247 010150 0015 010151 0017 010152 0617 010153 0177 010154 0246 010155 7600 010156 0100 010157 0321 ABSLDR PAL8-V50X 10-JUL-88 PAGE 125-1 010160 0544 010161 0240 010162 0020 010163 0563 010164 7761 010165 7740 010166 0620 010167 0220 010170 7730 010171 7746 010172 7736 010173 7700 010174 0200 010175 7607 010176 7764 010177 6203 ABSLDR PAL8-V50X 10-JUL-88 PAGE 126 ABSCTC 2342 CDFRST 0305 DATE2 1372 FIELDB 2737 ABSLDR 2000 CDF10 2304 DATRC 3706 FIELDW 2502 ACOMPR 2672 CDSWAP 0351 DA37 0604 FILE 0656 ADCNT 1626 CHARPT 0010 DCB 7760 FILMSG 3205 ADGTLP 0720 CHAR1 2135 DCBF 1051 FILPTR 0033 ADR1 0015 CHAR2 2131 DCOUNT 1400 FLDEND 4100 ADR2 0016 CHAR3 2116 DDELIM 0672 FLDLP 2623 AFINIS 0532 CHCNT 2146 DEAS 0637 FLDOVR 2706 ALTMOD 1302 CHERR 7513 DECIM 0673 FLD0 2306 AMERGE 4340 CHERR1 7545 DEVHND 0026 FLD1 2265 AMFLAG 0017 CHK32 1630 DFLAG 1403 FPUT 0240 AONUM 0737 CHLM1 1205 DFOUND 0446 FPUTX 0241 ASDONE 1163 CHLOOP 1207 DIGFLG 0047 FSRCLP 0702 ASFLAG 0054 CHPTR 2147 DIGTLP 1112 FUDJMP 0027 ASGN2 0453 CHTADC 7535 DLINK 1402 F0OVLY 1545 ASNM1 0503 CHTMP 2150 DLYLPX 1400 GCHCOM 2136 ASRET 0647 CH32 1754 DONTWR 2254 GDEVNO 0465 ASSEMB 2473 CH7200 7534 DORG 1401 GET 0511 ASSIGN 0436 CIERR 1472 DPROPR 1405 GETCCL 1362 BACK 1670 CINSRT 1244 DSFND 0441 GETCH 2062 BADCKS 3310 CKCODE 0356 DSRCH 0422 GETFLD 2540 BADINP 3302 CLENGT 0531 DSRCLP 0425 GETNAM 0211 BADNUM 0725 CLR 1106 DVHCLP 0507 GETNXT 2465 BANKSW 4115 CLRLIN 1277 DVHCTL 0501 GETOUT 1505 BATCH 0035 CLRPAK 0240 DVHLOC 0502 GETREC 0534 BCHGO 0046 CNV 0552 DVHNDL 7647 GETSW 0700 BEGLN 1000 COMBCT 3114 DVHORG 0016 GLINE 0024 BERR 4066 COMBO 3115 DVHREC 0503 GLONK 3737 BFDIFF 0401 COMBPT 3113 DWASTE 1404 GNAME 0025 BIPCCL 7777 CONLP 1300 D7600 1401 GODE 0723 BSLSH 1361 CONLPT 1317 EFINUP 1063 GTNMLP 0231 BUFFER 3400 CONMTF 1322 ENDRGN 2663 GTNMX 0222 BUFREC 2324 CONSOL 1273 EOCLOS 1262 HANDAD 0505 BUILD 2600 CORTAB 4200 EOMESG 3266 HANDLR 2043 BUMPXR 0752 COUNT 1703 EONAME 0303 HF3 1753 BUTTNG 0420 CRETRN 1267 EONUM 1130 HLFBLK 0020 B1 0022 CRLF 1166 EOVFLO 0371 HNDL 0307 B2 0023 CSOVLY 0400 EPASS 0056 HNDLAD 0564 B3 0024 CTINIT 4353 EPR 1533 HT 4053 CALLCD 2005 CTLBLK 3400 EPRINT 1520 INERLP 0635 CALONC 4354 CTLZ 2534 EPRLUP 1522 INIT 1077 CARRET 1252 CTL2 3124 ERETRN 0613 INLRDY 0670 CATCTL 0765 CTL3 3125 ERPCH 3200 INTGO 1041 CBMOVE 0453 CTRLC 1273 ERR 3244 INUSE 2646 CCB 7400 CTRLU 1273 ERRET 0033 IOERR 3273 CCBLOG 4124 C1 0025 ERRLUP 3253 ITSOVR 2400 CCBLOK 3612 C2 0026 ERTRN 3272 JFIELD 7744 CCBPTR 3611 C3 0027 EXPLTB 1627 JMPGET 2113 CCBTST 1460 DASHFG 0532 EXTEND 1672 JMPMAX 0244 CCLINC 0054 DASHSB 0522 EXTMP 0051 JMPME2 0770 CCLREC 0067 DATAWD 2462 EXTST 4054 JMPX 2065 CCLSW 0435 DATE 1367 FDC0 1531 JSBITS 7746 CCOVLY 1400 DATEN 0656 FGET 0220 JSTART 7745 CDE 1701 DATERR 0661 FGETW 0343 KERR 4233 CDFLOG 4136 DATEXX 0600 FGETX 0345 KEYMON 0403 ABSLDR PAL8-V50X 10-JUL-88 PAGE 126-1 KMER1 0765 MCALL1 7700 ME1000 0374 MTHREE 7346 KMER2 1522 MCATRC 0767 MFREE 0070 MTLOOP 2635 KMER3 0316 MCD 0263 MGET 7667 MTRSME 2641 KMER4 1447 MCDCTL 0364 MG7400 0344 MVCNT 1061 KMER5 1567 MCDREC 0051 MIFILE 7617 MVECB 0770 KMINIT 1005 MCHADR 7474 MINCOR 1151 MVFROM 1063 KMNTRY 0400 MCHAIN 0306 MIOERR 0246 MVT1 7637 KMONER 0003 MCHCTL 7473 MLNOTF 0321 MVT2 7640 KM1 0045 MCHFJM 7512 MLOOKU 0603 MVT3 7641 KM6203 1157 MCHND 7546 MMISC 7777 MWRCAT 0760 K1001 0575 MCHNX 7400 MNEXT 0323 MWRONG 1504 K12 0407 MCHN1 7445 MNOCHG 1174 MYFLD 0306 K7400 4226 MCHN2 7461 MNOFIL 1572 M12 0361 K7605 4232 MCHRD 7471 MOFILE 7600 M203 1175 LBCKUP 1324 MCHREC 7475 MONITO 0200 M240 0324 LCKSUM 2533 MCHT1 7511 MONPTR 0675 M256 0362 LCOMPR 2227 MCKDEV 0544 MONRD 7721 M301 0363 LDBLK 0313 MCLOSE 1177 MONS 0735 M340 0333 LDRCTL 4113 MCSIZ 4344 MONTOR 0013 M7 4227 LDRPCH 3220 MC7201 7433 MON1 1636 NAME 0052 LD7400 2020 MDATE 7666 MON2 1650 NBUFF 0022 LEADER 2427 MDSRCH 0701 MON3 1664 NEWD1 2442 LFEED 1344 MECOMN 1462 MON4 1703 NEWFIL 2024 LGTOUT 3002 MEFCNT 1567 MON5 1715 NEWLEN 1402 LIOERR 3333 MELAST 1505 MON6 1727 NEWLUP 0605 LKICKM 3042 MELEND 1040 MON7 1741 NEWSEG 3653 LMOVLP 3100 MELOOP 1032 MOVBUF 7626 NEWWD 2436 LMOVRD 3067 MELP2 1075 MOVEC 0760 NEXFIL 2330 LNOGO 3056 MELP3 1435 MOVECB 0450 NEXTCD 2004 LOADER 2411 MEMPTY 1143 MOVUP 1644 NFILES 0053 LOADF0 1542 MENTER 1011 MOVUPT 1755 NINSRT 0256 LOADWD 3127 MEOCNT 1566 MPARAM 7643 NKNT 0021 LOADXR 0011 MEOERR 0245 MRDCAT 0622 NMCT 0043 LOOPI 3712 MEOMTY 1560 MRDREN 0651 NM1 0034 LOWERA 2750 MEOVLP 1403 MREAD 7757 NM2 0035 LRETRN 0610 MEOVLS 1200 MRENTR 0206 NM3 0036 LSTADR 0071 MEOVLY 0026 MRESER 0064 NM4 0037 LSTFLD 0035 MEOXIT 0060 MRESET 1343 NOCD 2010 LUPPER 2705 MERCMN 1415 MRETRN 7730 NOCMPR 0433 LXM 6200 MERGED 0441 MRGLP 0400 NODLET 1240 LXR 0013 MERGEX 0664 MRSETL 1345 NOEXPL 1465 LXRBAK 0751 MERGLP 0702 MRSETP 0237 NOHASH 0421 L40 2464 MEROLP 1433 MRTRN 0617 NOORG 2735 L6177 0653 MERPCH 1511 MRTRN2 0620 NOTINC 0530 L7400 3715 MERR 0253 MRUNRC 0057 NOTXP 2526 MACARG 0055 MERRNO 0057 MSEGLM 1401 NUL 0562 MAGCDF 0302 MERROR 0247 MSKIPF 1542 NULERR 3320 MAGSW 0070 MERRTN 0056 MSKPLP 1550 NUM1 0601 MAG100 0340 MERRXR 1600 MSOVLY 0054 NUM2 0602 MAG377 0215 MERTST 0052 MSOVL2 0055 NXTFIL 0735 MAG70 0264 MERTYP 1607 MSTADR 7775 NXTONE 0436 MARG1 7740 MESCAP 0324 MSTART 0020 NXTSEG 0746 MASGN 0400 MESCPR 0341 MSTCDF 7773 NZCHAR 3213 MASSIG 0401 METMP1 1570 MSWITC 7764 N4 0322 MAXCMD 0013 METMP2 1571 MTEMP 0027 ODT 0573 ABSLDR PAL8-V50X 10-JUL-88 PAGE 126-2 ODTREC 0060 P6203 0030 SAVE2A 1411 SVXER 1560 OERR 3345 R 0455 SAVE3 1416 SWAPLP 4101 OFLG 2152 RADR 1737 SAVE3A 0462 SWFILE 1555 OLDMON 4212 RADR1 1704 SAVE4 1413 SWITCH 0670 OLDT9 0007 RBFLAG 0020 SAVE4B 1503 SWNTRY 0653 OLD1 0533 RBSPCL 1300 SAVE5 1420 SWRITE 1551 OLD2 0534 RCDCNT 2151 SAVE6 1430 SWSUBR 0677 ONCE 4200 RCTL 1736 SAVE7 1431 SXFLE 1571 ORGX 2330 RCTL1 1643 SAVE7A 1443 SYSHND 4124 ORG200 2722 RDCNT 0744 SAVE8 1464 SYSSWP 4074 ORIGIN 0021 READ 0324 SAVE8A 1463 SYSTEM 0022 OSFLD1 0270 READCK 0346 SAVXX 1400 SYTM1 4121 OSFLD2 0316 RECNO 2076 SAV2X 1431 SYTM2 4122 OS78 7771 RENEW 3745 SBLOCK 7776 SZAIN 2403 OUTRLP 0630 REOF 2145 SCDCIF 7675 S6203 0405 OV 1375 RERR 1756 SCOPE 7726 TBUF 0017 OVLYFG 3126 RERROR 2141 SCTL 1553 TEMP 3706 OVR32 1473 RESET 1551 SDLOOK 0460 TEMP1 0040 PATCHL 0261 RFILE 1627 SDNAME 0564 TEMP2 0021 PBUFFR 2075 RGETPG 0520 SDVHND 0772 TEXIT 0350 PCH 0023 RLCOMN 2235 SEGCNT 3741 TIE 0663 PCHAR 0350 RLOADR 0651 SEGLTH 3742 TIENTY 0650 PCRLF 0402 RMRD3 1764 SENTER 0050 TMP 0031 PDBUF 1062 ROT 1141 SETADR 2740 TMP1 0042 PERIOD 0276 ROTAT 1767 SFILE 0516 TMSY 4123 PERR 4231 ROT2 0741 SFND 1341 TM1 0041 PGNAME 0526 RSCOMN 0532 SGETOU 0542 TM8EEX 0202 PGTMP 2252 RTRN1 0220 SGFDLT 3743 TNM1 0323 PGTOUT 0032 RTWTPT 1050 SGSTAD 3744 TSLUP 0641 PG7400 0034 RUBOUT 1307 SGTNUM 0535 TS7 1760 PJSBTS 7674 RUN 0512 SHFT 3226 TWOPG 3665 PKT1 0023 RUNADR 1762 SHFTLP 3233 TX20 1702 PKT2 0024 RUNCNT 1763 SHNDLR 7607 TX212 1111 PKT3 0100 RUNFIL 1740 SKPMTF 0740 T1 0041 PK1 0310 RUNHND 1766 SLASHO 3600 T2 0042 PK8 0327 RUNSW 0046 SMCIF 7736 T212 3321 PK9 0333 RUNTWT 1717 SNUMLP 0420 T3 0043 PMSRST 1052 RUN1 0651 SOFSET 7747 T4 0044 PN 0044 RUN2 0706 SORTED 0756 T40 1641 PRDSW 0045 RUN5 0763 SPTST 0053 T5 0045 PRINLP 0325 RUN5A 0722 SQCOMN 1312 T6 0046 PRINT 0200 RUN6 1600 SQLOOP 1371 T6201 1700 PRINTQ 0364 RUN7 1610 SQTRIV 1341 T7 0047 PRMESG 0330 RUN7A 1612 SQUISH 1363 T76A 1642 PRNAME 1532 RUN8 1712 SRCH 1327 T8 0050 PRNT 1262 RUN9 1722 SRCWDL 0714 T9 0051 PROTAT 0564 RU37 1777 SSBITS 0600 UDNAME 7741 PRQMRK 1357 RU7700 1765 SSTADR 0504 UERRXR 1613 PRWD 0340 RXM 6230 START 0600 UERTYP 1623 PTRBFR 2323 R7000 0746 STARTX 0713 UPPERA 2740 PUTIT 2272 SADR 1554 STCOMN 0616 UP1 0241 PUTIT2 2302 SAVE 0545 STRTX 1113 UP2 0252 PUTWD 2200 SAVE1A 0400 SVDASH 0476 UP8 0262 P1 0711 SAVE12 0367 SVEND 0606 UP9 0267 P2 0712 SAVE2 1400 SVLNBF 1652 USERFG 0040 ABSLDR PAL8-V50X 10-JUL-88 PAGE 126-3 USRERR 1503 VERSNO 0005 WD 0030 WDCT 3740 WD1 0031 WD2 0032 WRBUF 2314 WRCTLB 0564 WRIBUF 2244 WRITE 4724 W6600 4072 W7600 4073 XERTRN 4230 XFB 2704 XFIELD 0020 XFLDT 4017 XFSP 1523 XGLINE 1200 XKMER1 0443 XLOD 0534 XNDT 4005 XR 0017 XR1 0015 XR2 0016 XTAT 0501 XTD 4037 XTEND 4000 XVALU 0070 X1 0014 ZCDIF0 3106 ZERO 1517 ZOFILE 3000 ZOUCNT 3001 ERRORS DETECTED: 0 LINKS GENERATED: 0