1 /OS8 BASIC EDITOR, V5A 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 // 10 / 11 / 12 / 13 / 14 /COPYRIGHT (C) 1972, 1973, 1974, 1975 15 /DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 16 / 17 / 18 / 19 /THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A 20 /SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- 21 /SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANT OTHER 22 /COPIES THEREOF, MAY NOT BR PROVIDED OR OTHERWISE MADE AVAILABLE 23 /TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO 24 /AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE 25 /SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. 26 / 27 / 28 /THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT 29 /NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL 30 /EQUIPMRNT COROPATION. 31 / 32 /DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS 33 /SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 34 / 35 / 36 / 37 / 38 / 39 / 40 /DEC-S8-LBASA-B-LA 41 / 42 /COPYRIGHT C 1972, 1973, 1974 43 / 44 /DIGITAL EQUIPMENT CORPORATION 45 /MAYNARD,MASSACHUSETTS 01754 46 / 47 /AUGUST 19, 1972 48 / 49 /HANK MAURER, 1972 50 /LEN ELEKMAN, 1972 51 /SHAWN SPILMAN, 1973 52 / 53 / 54 /ASSEMBLE AND LOAD AS FOLLOWS: 55 / 56 / .R PAL8 57 / *BASIC,BASIC LAST LINE ? 453 000624 7141 CIA CLL 454 000625 1042 TAD EOFLIN 455 000626 7640 SZA CLA 456 000627 5233 JMP .+4 /HI PART NOT =, FORGET LOW 457 000630 1041 TAD LINENO+1 458 000631 7141 CIA CLL 459 000632 1043 TAD EOFLIN+1 /COMPARE LOW PARTS 460 000633 7630 SZL CLA 461 000634 5245 JMP NOTLAST /NOT > LAST 462 000635 4562 JMS I [GETEOF /GET EOF 463 000636 1023 TAD TEMP /MAKE IT LOOK LIKE 464 000637 3026 DCA PTR /A CALL TO FINDLN 465 000640 1040 TAD LINENO /SAVE NEW LAST LINE 466 000641 3042 DCA EOFLIN 467 000642 1041 TAD LINENO+1 468 000643 3043 DCA EOFLIN+1 469 000644 7410 SKP 470 000645 4561 NOTLAST,JMS I [FINDLN /GENERAL CASE - SEARCH 471 000646 1023 INSERT, TAD TEMP /THERE ARE (TEMP-PTR) WORDS IN 472 000647 7140 CLL CMA /THE OLD LINE WHICH ARE TO BE 473 000650 1026 TAD PTR /REPLACED BY (-SIZE) WORDS IN 474 000651 7200 CLA /NEW LINE. 475 000652 6214 RDF 476 000653 7430 SZL 477 000654 1107 TAD O7770 478 000655 1110 TAD O6201 479 000656 3346 DCA PTRFLD /GET FIELD OF START OF OLD LINE 480 000657 1026 TAD PTR 481 000660 7141 CLL CIA 482 000661 1023 TAD TEMP 483 000662 1022 TAD SIZE /WHICH WAY ? 484 000663 7450 SNA 485 000664 5331 JMP MOVE /SAME SIZE, MOVE IN NEW LINE 486 000665 7510 SPA 487 000666 5777 JMP I (EXPAND /MAKE MORE ROOM FOR NEW LINE 488 000667 7041 CIA 489 000670 1023 TAD TEMP /SHRINK THE FILE 490 000671 3025 DCA TOWARD /MOVE FILE DOWN TO HERE 491 000672 6214 RDF 492 000673 1110 TAD O6201 493 000674 3304 DCA TMPFLD /GET FIELD OF READ POINTER 494 000675 1025 TAD TOWARD 495 000676 7140 CLL CMA 496 000677 1023 TAD TEMP 497 000700 7620 SNL CLA 498 000701 1107 TAD O7770 499 000702 1304 TAD TMPFLD 500 000703 3306 DCA TWDFLD /GET FIELD OF WRITE POINTER 501 000704 7402 TMPFLD, HLT 502 000705 1423 TAD I TEMP 503 000706 7402 TWDFLD, HLT 504 000707 3425 DCA I TOWARD /MOVE DOWN 505 000710 1425 TAD I TOWARD 506 000711 1103 TAD O7701 /END OF FILE ??? 507 000712 7650 SNA CLA 508 000713 5327 JMP LWREOF /YES, PUT NEW LINE IN AT END 509 000714 2023 ISZ TEMP /INCREMENT POINTERS 510 000715 5321 JMP .+4 511 000716 1304 TAD TMPFLD /AND FIELDS IF NECESSARY 512 000717 1111 TAD O10 513 000720 3304 DCA TMPFLD 514 000721 2025 ISZ TOWARD 515 000722 5304 JMP TMPFLD 516 000723 1306 TAD TWDFLD 517 000724 1111 TAD O10 518 000725 3306 DCA TWDFLD 519 000726 5304 JMP TMPFLD /KEEP SHRINKING 520 000727 1025 LWREOF, TAD TOWARD /SET NEW EOF 521 000730 4560 JMS I [SETEOF 522 000731 1022 MOVE, TAD SIZE 523 000732 7650 SNA CLA 524 000733 5204 JMP MAINLUP /IT WAS A DELETE 525 000734 6201 CDF 00 526 000735 1040 TAD LINENO /PUT IN LINE NUMBER 527 000736 3563 DCA I [LINE 528 000737 1041 TAD LINENO+1 529 000740 3557 DCA I [LINE+1 530 000741 1163 MOVENTR,TAD [LINE 531 000742 3023 DCA TEMP 532 000743 6201 MOVLUP, CDF /MOVE IN NEW LINE 533 000744 1423 TAD I TEMP 534 000745 2023 ISZ TEMP 535 000746 7402 PTRFLD, HLT 536 000747 3426 DCA I PTR 537 000750 2026 ISZ PTR /INCREMENT POINTERS 538 000751 5355 JMP .+4 539 000752 1346 TAD PTRFLD /WHATCH OUT FOR FIELDS 540 000753 1111 TAD O10 /(W.C. OR E.M. ?) 541 000754 3346 DCA PTRFLD 542 000755 2022 ISZ SIZE 543 000756 5343 JMP MOVLUP 544 000757 5204 JMP MAINLUP 545 000760 0000 SRCHBK, 0 546 000761 3375 DCA TEM 547 000762 1760 TAD I SRCHBK 548 000763 2360 ISZ SRCHBK 549 000764 7041 CIA 550 000765 1375 TAD TEM 551 000766 7140 CLL CMA 552 000767 1760 TAD I SRCHBK 553 000770 7620 SNL CLA 554 000771 2360 ISZ SRCHBK 555 000772 2360 ISZ SRCHBK 556 000773 1375 TAD TEM 557 000774 5760 JMP I SRCHBK 558 000775 0000 TEM, 0 559 560 000777 1000 PAGE 561 001000 7041 EXPAND, CIA /EXTRA ROOM NEEDED 562 001001 3025 DCA TOWARD 563 001002 1423 TAD I TEMP /SAVE THIS PLACE 564 001003 3024 DCA TEMP2 565 001004 1100 TAD O37 /NOW MARK THIS PLACE 566 001005 3423 DCA I TEMP 567 001006 4562 JMS I [GETEOF /GET EOF 568 001007 6214 RDF 569 001010 1110 TAD O6201 570 001011 3225 DCA TMP2FLD /GET FIELD OF END OF FILE 571 001012 7100 CLL 572 001013 1023 TAD TEMP /MOVE FILE UP 573 001014 1025 TAD TOWARD /TO 574 001015 3025 DCA TOWARD /HERE 575 001016 7430 SZL 576 001017 4556 JMS I [FINCR /MIGHT BE ACROSS A FIELD 577 001020 6214 RDF 578 001021 1110 TAD O6201 579 001022 3227 DCA TWD2FLD /SAVE NEW EOF FIELD 580 001023 1025 TAD TOWARD /SAVE NEW EOF 581 001024 4560 JMS I [SETEOF 582 001025 7402 TMP2FLD,HLT 583 001026 1423 TAD I TEMP 584 001027 7402 TWD2FLD,HLT 585 001030 3425 DCA I TOWARD /MOVE UP ONE WORD 586 001031 1425 TAD I TOWARD 587 001032 1101 TAD O7741 /IS THE MARK ? 588 001033 7650 SNA CLA 589 001034 5256 JMP LASTWD /YES, PUT IN LAST WORD 590 001035 7340 CLA CLL CMA 591 001036 1025 TAD TOWARD /BACK UP POINTERS 592 001037 3025 DCA TOWARD 593 001040 7430 SZL 594 001041 5245 JMP .+4 595 001042 1227 TAD TWD2FLD /AND FIELDS (MAYBE) 596 001043 1107 TAD O7770 597 001044 3227 DCA TWD2FLD 598 001045 7340 CLA CLL CMA 599 001046 1023 TAD TEMP 600 001047 3023 DCA TEMP 601 001050 7430 SZL 602 001051 5225 JMP TMP2FLD 603 001052 1225 TAD TMP2FLD 604 001053 1107 TAD O7770 605 001054 3225 DCA TMP2FLD 606 001055 5225 JMP TMP2FLD 607 001056 1024 LASTWD, TAD TEMP2 /PUT IN SAVED WORD 608 001057 3425 DCA I TOWARD 609 001060 5555 JMP I [MOVE /GO MOVE IN NEW LINE 610 001061 4576 COREOV, JMS I [TYPE /FILE TOO BIG 611 001062 1072 MSGBIG 612 001063 7201 BYEBYE, CLA IAC 613 001064 0056 AND SWPNUM /IS OS8 RES IN PLACE ? 614 001065 7640 SZA CLA /YES IF EVEN NUMBER OF SWAPS 615 001066 4554 BYE, JMS I [SWAP /PUT BACK OS8 616 001067 6041 TSF /WAIT FOR TTY SO OS8 DOESN'T 617 001070 5267 JMP .-1 /TRAMPLE ON MY LINE FEED 618 001071 5777 JMP I (7605 /EXIT TO OS8 619 001072 5646 MSGBIG, 5646;5660;6372;160;6746;6347;5560;7000 001073 5660 001074 6372 001075 0160 001076 6746 001077 6347 001100 5560 001101 7000 620 001102 0145 MSGALT, 0145;4655;4665;4645;0 001103 4655 001104 4665 001105 4645 001106 0000 621 001107 7051 MSGWHAT,7051;4265;4000 001110 4265 001111 4000 622 001112 5552 MSGTOO, 5552;5746;0165;6060;0155;6057;5000 001113 5746 001114 0165 001115 6060 001116 0155 001117 6057 001120 5000 623 001121 1153 SCRATCH,TAD [TXTAREA/SCRATCH FILE 624 001122 4560 JMS I [SETEOF 625 001123 3042 DCA EOFLIN /ZERO LAST LINE NUM 626 001124 3043 DCA EOFLIN+1 627 001125 5552 JMP I [CMDDONE 628 001126 0000 NORM, 0 /LINE NUMBER NORMALIZER 629 001127 1027 TAD NDIGS 630 001130 7440 SZA 631 001131 5334 JMP .+3 /IF THERE ARE NO DIGITS IN THE 632 001132 7240 CLA CMA /LINE NUMBER THEN 633 001133 5726 JMP I NORM /RETURN -1. 634 001134 1104 TAD O7772 635 001135 7700 SMA CLA 636 001136 5726 JMP I NORM /IF THE LINENO HAS BEEN FILLED 637 001137 1112 TAD O7774 /OUT TO 6 DIGITS(LEADING 0'S) 638 001140 3023 DCA TEMP /THEN RETURN. 639 001141 1040 TAD LINENO /OTHERWISE, SHIFT RIGHT 1 DIGIT 640 001142 7110 CLL RAR 641 001143 3040 DCA LINENO /AND CHECK AGAIN. 642 001144 1041 TAD LINENO+1 643 001145 7010 RAR 644 001146 3041 DCA LINENO+1 645 001147 2023 ISZ TEMP 646 001150 5341 JMP .-7 647 001151 2027 ISZ NDIGS 648 001152 5327 JMP NORM+1 649 001153 0000 SETEOF, 0 /SET NEW EOF 650 001154 3035 DCA EOFADR /SAVE ADDR 651 001155 6214 RDF /GET FLD 652 001156 1110 TAD O6201 653 001157 3366 DCA EOFFLD /SAVE IT 654 001160 1120 TAD O77 /STORE EOF 655 001161 3435 DCA I EOFADR 656 001162 5753 JMP I SETEOF 657 / 658 001163 0000 GETEOF, 0 659 001164 1035 TAD EOFADR /RETRIEVE EOF INFO 660 001165 3023 DCA TEMP /FIRST ADDR 661 001166 6201 EOFFLD, CDF 662 001167 5763 JMP I GETEOF 663 664 001177 7605 PAGE 665 001200 1220 COMMAND,TAD COMTBL /COMMAND LIST POINTER 666 001201 3023 DCA TEMP 667 001202 2023 COMLUP, ISZ TEMP /GET 2 CHAR COMMAND 668 001203 1423 TAD I TEMP 669 001204 2023 ISZ TEMP 670 001205 7450 SNA 671 001206 5215 JMP WHAT /END OF LIST 672 001207 1572 TAD I [LINE+2 /IS THIS IT ? 673 001210 7640 SZA CLA 674 001211 5202 JMP COMLUP /NO, LOOK AGAIN 675 001212 1423 TAD I TEMP /GET COMMAND ADDR 676 001213 3023 DCA TEMP /AND GO TO IT 677 001214 5423 JMP I TEMP 678 001215 4576 WHAT, JMS I [TYPE /TYPE WHAT? 679 001216 1107 MSGWHAT 680 001217 5551 JMP I [MAINLUP 681 001220 1220 COMTBL, . 682 001221 2226 -5552 683 001222 1400 LIST 684 001223 1723 -6055 685 001224 2725 OLD 686 001225 1336 -6442 687 001226 2223 SAVE 688 001227 1412 -6366 689 001230 2200 RUN 690 001231 1334 -6444 691 001232 1121 SCRATCH 692 001233 3406 -4372 693 001234 1066 BYE 694 001235 2032 -5746 695 001236 1762 NEW 696 001237 2036 -5742 697 001240 1753 RENAME 698 001241 0000 0 699 001242 0145 WSSAVE, 0145;6454;3343;4264;5244;1770;6400 001243 6454 001244 3343 001245 4264 001246 5244 001247 1770 001250 6400 700 001251 0000 HEADING,0 /PRINT HEADING 701 001252 4573 JMS I [CRLF /LATER 702 001253 1150 TAD [FNAME /SET UP FOR CONVERSION 703 001254 3023 DCA TEMP /POINTER TO FILE NAME 704 001255 1265 TAD XTITLE /WHERE IT GOES 705 001256 3026 DCA PTR 706 001257 4270 JMS CONV /OUTPUT FIRST TWO CHARS 707 001260 4270 JMS CONV /NEXT TWO 708 001261 4270 JMS CONV /THIRD TWO 709 001262 2026 ISZ PTR /SKIP FOR EXT 710 001263 4270 JMS CONV /OUTPUT EXTENSION 711 001264 4576 JMS I [TYPE /TYPE HEADING 712 001265 1312 XTITLE, TITLE 713 001266 4573 JMS I [CRLF /FOLLOWED BY A CRLF 714 001267 5651 JMP I HEADING 715 001270 0000 CONV, 0 /CONVERT TO SIX BIT ASCII 716 001271 1423 TAD I TEMP /GET NEXT WORD 717 001272 0120 AND O77 /CHECK FOR 0 718 001273 7450 SNA /SUBSTITUTE BLANKS 719 001274 1377 TAD (40 720 001275 1101 TAD O7741 /SUBTRACT 37 721 001276 0120 AND O77 /SIX BITS 722 001277 3426 DCA I PTR 723 001300 1423 TAD I TEMP /DO UPPER CHAR 724 001301 0057 AND O7700 725 001302 7450 SNA 726 001303 7130 CLL CML RAR 727 001304 1376 TAD (-3700 /SAME WAY 728 001305 1426 TAD I PTR /COMBINE THEM 729 001306 3426 DCA I PTR 730 001307 2023 ISZ TEMP 731 001310 2026 ISZ PTR 732 001311 5670 JMP I CONV 733 734 001312 0000 TITLE, 0;0;0;0101;0 /FOR THE PROG NAME 001313 0000 001314 0000 001315 0101 001316 0000 735 001317 0101 0101;0101 /SOME BLANKS 001320 0101 736 001321 2642 VERLOC, VERSON^100+2142 /VERSION NUMBER 737 001322 0101 0101;0101 /MORE BLANKS 001323 0101 738 001324 0000 DATE, 0;0;0 /DATE TEMPLATE 001325 0000 001326 0000 739 001327 1627 DASH6, 1627 /"-6" FOR BUILDING DATE 740 001330 0000 EODAT, 0 /END OF DATE TEMPLATE 741 742 001331 0000 GETNC, 0 /GET A CHAR FOR A FILE NAME 743 001332 1030 TAD NCHARS /GET CHAR POINTER 744 001333 2030 ISZ NCHARS /BUMP IT 745 001334 7110 CLL RAR /DIVIDE BY 2 746 001335 1172 TAD [LINE+2 /ADD BASE 747 001336 3023 DCA TEMP /GIVES ADDR OF WORD 748 001337 1423 TAD I TEMP /GET 2 CHARS 749 001340 7430 SZL /ODD EVEN BIT IS IN LINK 750 001341 5345 JMP TESTCH /GO CHECK THE CHAR 751 001342 7012 RTR 752 001343 7012 RTR 753 001344 7012 RTR 754 001345 0120 TESTCH, AND O77 /ONLY 6 BITS 755 001346 7450 SNA 756 001347 5731 JMP I GETNC /END OF NAME 757 001350 1100 TAD O37 758 001351 2331 ISZ GETNC 759 001352 5731 JMP I GETNC 760 001353 0000 PATCH3, 0 761 001354 4547 JMS I [GETNC 762 001355 5753 JMP I PATCH3 763 001356 0120 AND O77 764 001357 4775 JMS I (SRCHBK 765 001360 0072 72 766 001361 0001 1 767 001362 5371 JMP EXB 768 001363 2353 ISZ PATCH3 769 001364 4775 JMS I (SRCHBK 770 001365 0060 60 771 001366 0012 12 772 001367 5753 EXA, JMP I PATCH3 773 001370 5774 JMP I (PATCH2 774 001371 7201 EXB, CLA IAC 775 001372 5753 JMP I PATCH3 776 777 001374 2761 PAGE 001375 0760 001376 4100 001377 0040 778 001400 1546 LIST, TAD I [LINE+3 /LISTNH ? 779 001401 1545 TAD I [LINE+4 780 001402 1144 TAD [-4436 /PSEUDO TEST 781 001403 7650 SNA CLA 782 001404 5211 JMP LISTNH /NO HEADING 783 001405 4543 JMS I [HEADING/GIVE HEADING 784 001406 1031 TAD COFLAG /WAS CTRL/O TYPED ? 785 001407 7650 SNA CLA 786 001410 5552 JMP I [CMDDONE/YES, ABORT LISTING 787 001411 3030 LISTNH, DCA NCHARS /SET POINTER 788 001412 3027 DCA NDIGS /AND DIGIT COUNTER 789 001413 4547 JMS I [GETNC /SKIP UNTIL BLANK 790 001414 5225 JMP NUMDUN /DONE 791 001415 1377 TAD (-40 792 001416 7640 SZA CLA 793 001417 5213 JMP .-4 /NO BLANK YET 794 001420 4547 JMS I [GETNC /GET A CHAR 795 001421 5225 JMP NUMDUN /END OF NUMBER 796 001422 1066 TAD O7706 /SUBTRACT 72 797 001423 4574 JMS I [LNDIG /GO SEE IF ITS A DIGIT 798 001424 5220 JMP .-4 /IT WAS, CONTINUE 799 001425 1153 NUMDUN, TAD [TXTAREA 800 001426 3026 DCA PTR /SET UP POINTER 801 001427 4571 JMS I [NORM /NORMALIZE THE NUM 802 001430 7710 SPA CLA /ANY NUMBER ? 803 001431 5234 JMP .+3 /NO 804 001432 4561 JMS I [FINDLN /YES, LOCATE IT 805 001433 1026 TAD PTR 806 001434 7001 IAC 807 001435 3023 DCA TEMP 808 001436 4542 JMS I [FDECR 809 001437 6214 RDF /GET THE FIELD 810 001440 1110 TAD O6201 811 001441 3275 DCA PTR2FLD /SAVE IT 812 001442 3023 DCA TEMP 813 001443 4567 LSTLUP, JMS I [CTRLO /CHECK FOR CTRL/O 814 001444 5552 JMP I [CMDDONE/YES, EXIT 815 001445 4361 JMS CTRLS /CHECK FOR XOFF 816 001446 4252 JMS GETFIL /GET CHARACTER TO LIST 817 001447 5552 JMP I [CMDDONE 818 001450 4575 JMS I [TTYOUT /PRINT IT 819 001451 5243 JMP LSTLUP /LOOP 820 001452 0000 GETFIL, 0 /GET CHARACTER FROM FILE 821 001453 1023 TAD TEMP 822 001454 2023 ISZ TEMP 823 001455 1260 TAD .+3 824 001456 3257 DCA .+1 825 001457 7402 HLT 826 001460 5661 JMP I .+1 /SEQUENCE OF OPERATIONS 827 001461 1475 PTR2FLD /GET FIRST WORD 828 001462 1514 FRSTDIG /FIRST DIGIT OF LINE NUMBER 829 001463 1515 DIGIT /SECOND DIGIT 830 001464 1515 DIGIT /THIRD DIGIT 831 001465 1475 PTR2FLD /GET NEXT WORD OF LINE NUMBER 832 001466 1515 DIGIT /FOURTH DIGIT 833 001467 1515 DIGIT /FIFTH DIGIT 834 001470 1513 LASTDIG /SIXTH AND LAST DIGIT 835 001471 1475 PTR2FLD /GET WORD OF TEXT 836 001472 1534 LEFTTXT /LEFT CHARACTER 837 001473 1541 RITETXT /RIGHT CHARACTER 838 001474 1556 LINFTXT /LINE FEED CHARACTER 839 001475 7402 PTR2FLD,HLT /CHECK FOR EOF 840 001476 1426 TAD I PTR 841 001477 6201 CDF 842 001500 1103 TAD O7701 843 001501 7450 SNA 844 001502 5652 JMP I GETFIL /YES, RETURN UNSKIPPED 845 001503 1120 TAD O77 846 001504 3024 DCA TEMP2 /NO, SAVE WORD 847 001505 2026 ISZ PTR /BUMP POINTER 848 001506 5253 JMP GETFIL+1 849 001507 1275 TAD PTR2FLD 850 001510 1111 TAD O10 851 001511 3275 DCA PTR2FLD 852 001512 5253 JMP GETFIL+1 853 001513 7201 LASTDIG,CLA IAC /FORCE LAST DIGIT (EVEN IF 0) 854 001514 3027 FRSTDIG,DCA NDIGS /ZERO DIGIT COUNT 855 001515 1024 DIGIT, TAD TEMP2 856 001516 7006 RTL 857 001517 7006 RTL 858 001520 3024 DCA TEMP2 /SHIFT LEFT ONE DIGIT 859 001521 1024 TAD TEMP2 860 001522 7004 RAL 861 001523 0072 AND O17 /GET DIGIT 862 001524 7440 SZA 863 001525 5331 JMP NZDIGIT /ITS NOT ZERO 864 001526 1027 TAD NDIGS /IS IT A LEADING ZERO ? 865 001527 7650 SNA CLA 866 001530 5253 JMP GETFIL+1/YES, DON'T PRINT IT 867 001531 2027 NZDIGIT,ISZ NDIGS /NON ZERO OR NON LEADING ZERO 868 001532 1073 TAD O260 /SO PRINT IT 869 001533 5350 JMP GFRET 870 001534 1024 LEFTTXT,TAD TEMP2 /GET LEFT CHAR 871 001535 7012 RTR 872 001536 7012 RTR 873 001537 7012 RTR 874 001540 5344 JMP .+4 875 001541 1111 RITETXT,TAD O10 /SETUP FOR LEFT CHAR NEXT 876 001542 3023 DCA TEMP 877 001543 1024 TAD TEMP2 878 001544 0120 AND O77 /SIXBITIZE AC 879 001545 7450 SNA 880 001546 5352 JMP ZEROTXT /0 IS END OF THE LINE 881 001547 1074 TAD O237 /MAKE IT ASCII 882 001550 2252 GFRET, ISZ GETFIL 883 001551 5652 JMP I GETFIL 884 001552 1075 ZEROTXT,TAD O13 /SETUP FOR LF NEXT 885 001553 3023 DCA TEMP 886 001554 1076 TAD O215 /RETURN CR 887 001555 5350 JMP GFRET 888 001556 3023 LINFTXT,DCA TEMP /CLEAR SEQUENCER AND RETURN LF 889 001557 1077 TAD O212 890 001560 5350 JMP GFRET 891 / 892 001561 0000 CTRLS, 0 893 001562 1127 TAD CSFLG /XON? 894 001563 7650 SNA CLA 895 001564 5761 JMP I CTRLS /NO 896 001565 5243 JMP LSTLUP /YES 897 / 898 001566 6346 MSGRDY, 6346;4245;7200 001567 4245 001570 7200 899 900 001577 7740 PAGE 901 001600 0000 GETFN, 0 /GET A FILE NAME (ALSO FETCH ITS HANDLER) 902 001601 3322 DCA SAVFLAG /=1 FOR SAVE, 0 FOR OLD OR NEW 903 001602 1032 TAD CHNFLAG /RETURNING FROM RUN ? 904 001603 7640 SZA CLA 905 001604 5215 JMP NOFUSR /YES, DON'T FETCH USR 906 001605 4554 JMS I [SWAP /GET OS8 RESIDENT 907 001606 1322 TAD SAVFLAG /IS IT OLD OR NEW ?? 908 001607 7650 SNA CLA 909 001610 7001 IAC /YES, DON'T SWAP 10000-11777 910 001611 3777 DCA I (7746 /DO IF SAVE, SO ALTER JSW 911 001612 6212 CIF 10 /GET THE USR 912 001613 4457 JMS I O7700 913 001614 0010 10 914 001615 3030 NOFUSR, DCA NCHARS /RESET CHAR POINTER 915 001616 4547 BSKIP, JMS I [GETNC /GET A CHAR 916 001617 5275 JMP ASKNAM /ASK FOR FILE NAME 917 001620 1260 TAD M40 /BLANK ? 918 001621 7640 SZA CLA 919 001622 5216 JMP BSKIP /NO, LOOP 920 001623 4323 NOSKIP, JMS GETNAM /GET A NAME 921 001624 7650 SNA CLA 922 001625 5236 JMP USEDSK /NO DEVICE SPECIFIED, USE DSK: 923 001626 1044 TAD NAME /PUT IN THE DEVICE NAME 924 001627 3247 DCA DEV /AS SPECIFIED 925 001630 1045 TAD NAME+1 926 001631 3250 DCA DEV+1 927 001632 4323 JMS GETNAM /FETCH THE FILE NAME 928 001633 7640 SZA CLA 929 001634 5776 JMP I (IOERR /BAD SYNTAX IN FILE DESCRIPTOR 930 001635 5242 JMP GETHAN /GO FETCH THE HANDLER 931 001636 1375 USEDSK, TAD (0423 /SET DEVICE NAME TO DSK: 932 001637 3247 DCA DEV 933 001640 1374 TAD (1300 934 001641 3250 DCA DEV+1 935 001642 1141 GETHAN, TAD [HANDLR+1 936 001643 3251 DCA DEV+2 /ALSO THE HANDLER ORIGIN 937 001644 6212 CIF 10 938 001645 4460 JMS I O200 /CALL THE USR 939 001646 0001 1 /FETCH HANDLER BY NAME 940 001647 0000 DEV, 0;0;0 001650 0000 001651 0000 941 001652 5776 JMP I (IOERR /BAD DEVICE 942 001653 1250 TAD DEV+1 /SAVE THE DEVICE NUMBER 943 001654 3055 DCA DEVNUM 944 001655 1251 TAD DEV+2 /AND THE HANDLER ENTRY POINT 945 001656 3054 DCA DEVHAN 946 001657 1322 MOVEFN, TAD SAVFLAG /WAS IT A SAVE ? 947 001660 7740 M40, SMA SZA CLA 948 001661 5600 JMP I GETFN /YES, JUST RETURN 949 001662 1044 TAD NAME /NEW OR OLD, ANY NAME GIVEN ? 950 001663 7450 SNA 951 001664 5600 JMP I GETFN /NO, PROBABLY JUST A DEVICE 952 001665 3050 DCA FNAME /YES, SAVE IT 953 001666 1045 TAD NAME+1 954 001667 3051 DCA FNAME+1 955 001670 1046 TAD NAME+2 956 001671 3052 DCA FNAME+2 957 001672 1047 TAD NAME+3 958 001673 3053 DCA FNAME+3 959 001674 5600 JMP I GETFN 960 001675 1322 ASKNAM, TAD SAVFLAG /WAS THIS A SAVE ? 961 001676 7750 SPA SNA CLA 962 001677 5313 JMP ASKNM /NO, GO ASK FOR A NAME 963 001700 1050 TAD FNAME /IT WAS A SAVE, ANY OLD NAME TO USE ? 964 001701 7450 SNA 965 001702 5313 JMP ASKNM /NO, GO ASK FOR ONE 966 001703 3044 DCA NAME /YES, MOVE INTO NAME 967 001704 1051 TAD FNAME+1 968 001705 3045 DCA NAME+1 969 001706 1052 TAD FNAME+2 970 001707 3046 DCA NAME+2 971 001710 1053 TAD FNAME+3 972 001711 3047 DCA NAME+3 973 001712 5600 JMP I GETFN 974 001713 7201 ASKNM, CLA IAC /ASK FOR FILE NAME 975 001714 4576 JMS I [TYPE 976 001715 2167 ASKFN 977 001716 1373 TAD (DUMMY 978 001717 3174 DCA [LNDIG 979 001720 4565 JMS I [GETLIN 980 001721 5772 JMP I (PATCH1 981 001722 0000 SAVFLAG,0 982 001723 0000 GETNAM, 0 /GET A FILE OR DEVICE NAME 983 001724 3044 DCA NAME /ZERO THE NAME BUFFER 984 001725 3045 DCA NAME+1 985 001726 3046 DCA NAME+2 986 001727 1061 TAD O201 /USE DEFAULT EXT .BA 987 001730 3047 DCA NAME+3 988 001731 1140 TAD [NAME /SETUP POINTER 989 001732 3024 DCA TEMP2 990 001733 1112 TAD O7774 /SETUP SIZE (MAX 4 WORDS) 991 001734 3022 DCA SIZE 992 001735 4771 NAMLUP, JMS I (PATCH3 993 001736 5723 JMP I GETNAM 994 001737 7106 CLL RTL 995 001740 7006 RTL 996 001741 7006 RTL 997 001742 3424 DCA I TEMP2 /SAVE IT 998 001743 4771 JMS I (PATCH3 999 001744 5723 JMP I GETNAM 1000 001745 1424 TAD I TEMP2 /COMBINE THE 2 1001 001746 3424 DCA I TEMP2 1002 001747 2024 ISZ TEMP2 1003 001750 2022 ISZ SIZE /ANY MORE ? 1004 001751 5335 JMP NAMLUP 1005 001752 5723 JMP I GETNAM 1006 001753 7130 RENAME, CLL CML RAR /SAVE USR AREA 1007 001754 4200 JMS GETFN /GET FILE NAME 1008 001755 6212 CIF 10 1009 001756 4460 JMS I O200 /REMOVE USR 1010 001757 0011 11 /AND RESTORE 10000-11777 1011 001760 4554 JMS I [SWAP /SWAP OS8 RESIDENT 1012 001761 5552 JMP I [CMDDONE 1013 001762 1153 NEW, TAD [TXTAREA /SCRATCH 1014 001763 4560 JMS I [SETEOF 1015 001764 3042 DCA EOFLIN /ZERO LAST LINE NUM 1016 001765 3043 DCA EOFLIN+1 1017 001766 4200 JMS GETFN /GET THE FILE NAME 1018 001767 4554 JMS I [SWAP /REMOVE OS8 1019 001770 5552 JMP I [CMDDONE 1020 1021 001771 1353 PAGE 001772 2553 001773 0357 001774 1300 001775 0423 001776 2715 001777 7746 1022 002000 0000 PUTFIL, 0 /WRITE THE FILE 1023 002001 1153 TAD [TXTAREA 1024 002002 3026 DCA PTR /GET POINTER TO TEXT 1025 002003 1110 TAD O6201 /GET FIELD OF TEXT 1026 002004 3537 DCA I [PTR2FLD 1027 002005 3023 DCA TEMP /ZERO LINE SEQUENCER 1028 002006 1136 TAD [DSKBUF /GET ADDR OF DISK BUFFER 1029 002007 3003 DCA SWAPT1 /BUFFER POINTER 1030 002010 1071 TAD O7600 1031 002011 3004 DCA SWAPT2 /DOUBLE WORD COUNTER 1032 002012 1310 TAD JMPINS /SET 3 WAY SWITCH 1033 002013 3233 DCA PUTJMP 1034 002014 4535 PFLOOP, JMS I [GETFIL /GET A CHAR FROM TEXT AREA 1035 002015 5220 JMP PFCTLZ /END OF FILE 1036 002016 4231 JMS PUTCH /OUTPUT IT 1037 002017 5214 JMP PFLOOP /DO NEXT CHAR 1038 002020 1064 PFCTLZ, TAD O232 /PUT CTRL-Z 1039 002021 4231 JMS PUTCH 1040 002022 1065 TAD O7201 /BUFFER DUMP COUNT 1041 002023 3230 DCA PFTEMP 1042 002024 4231 JMS PUTCH /FILL WITH ZEROES 1043 002025 2230 ISZ PFTEMP 1044 002026 5224 JMP .-2 1045 002027 5600 JMP I PUTFIL /DONE 1046 002030 0000 PFTEMP, 0 1047 002031 0000 PUTCH, 0 /PUT A CHAR ONTO THE OS8 FILE 1048 002032 3006 DCA SWAPT4 /SAVE THE CHAR 1049 002033 7402 PUTJMP, HLT /JUMP TO CORRECT PLACE 1050 002034 5304 JMP PH1 /FIRST CHAR 1051 002035 5301 JMP PH2 /SECOND CHAR 1052 002036 1310 PH3, TAD JMPINS /RESTORE SWITCH 1053 002037 3233 DCA PUTJMP 1054 002040 1006 TAD SWAPT4 /GET THE CHAR 1055 002041 0072 AND O17 /LOW FOUR BITS 1056 002042 7110 CLL RAR 1057 002043 7012 RTR /INTO THE HIGH PART OF WORD TWO 1058 002044 7012 RTR 1059 002045 1403 TAD I SWAPT1 /COMBINE WITH CHAR 2 1060 002046 3403 DCA I SWAPT1 1061 002047 1006 TAD SWAPT4 /GET THE HIGH FOUR BITS 1062 002050 7006 RTL 1063 002051 7006 RTL /INTO THE HIGH PART OF WORD ONE 1064 002052 0124 AND O7400 1065 002053 1405 TAD I SWAPT3 /COMBINE WITH WORD ONE 1066 002054 3405 DCA I SWAPT3 1067 002055 2003 ISZ SWAPT1 /BUMP POINTER 1068 002056 2004 ISZ SWAPT2 /BUMP DOUBLE WORD COUNT 1069 002057 5631 JMP I PUTCH /RETURN 1070 002060 4554 JMS I [SWAP /SWAP IN OS8 1071 002061 4454 JMS I DEVHAN /WRITE THIS BUFFER 1072 002062 4200 4200 1073 002063 4200 DSKBUF 1074 002064 0000 WRBLOK, 0 1075 002065 5777 JMP I (OUERR 1076 002066 2311 ISZ OUSIZE /ANY ROOM LEFT ? 1077 002067 7410 SKP 1078 002070 5777 JMP I (OUERR /NO, ERROR 1079 002071 2264 ISZ WRBLOK /BUMP BLOCK NUMBER 1080 002072 2776 ISZ I (OULEN /BUMP ACTUAL SIZE 1081 002073 4554 JMS I [SWAP /SWAP BACK 1082 002074 1136 TAD [DSKBUF /SET UP BUFFER POINTER 1083 002075 3003 DCA SWAPT1 1084 002076 1071 TAD O7600 1085 002077 3004 DCA SWAPT2 /SET UP COUNT 1086 002100 5631 JMP I PUTCH 1087 002101 1003 PH2, TAD SWAPT1 /SAVE POINTER TO FIRST 1088 002102 3005 DCA SWAPT3 1089 002103 2003 ISZ SWAPT1 /BUMP POINTER 1090 002104 1006 PH1, TAD SWAPT4 /GET CHAR 1091 002105 3403 DCA I SWAPT1 /INTO BUFFER 1092 002106 2233 ISZ PUTJMP /BUMP SWITCH 1093 002107 5631 JMP I PUTCH 1094 002110 5234 JMPINS, JMP PUTJMP+1 1095 002111 0000 OUSIZE, 0 1096 002112 0000 SWAP, 0 /SWAP OS8 RESIDENT 1097 002113 2056 ISZ SWPNUM /FLIP BYEBYE SWITCH 1098 002114 7000 NOP 1099 002115 4327 JMS SWAP2 /WITH OS8RES THROUGH OS8RES+577 1100 002116 3400 OS8RES 1101 002117 6201 CDF 1102 002120 4327 JMS SWAP2 1103 002121 3600 OS8RES+200 1104 002122 6211 CDF 10 1105 002123 4327 PATCH5, JMS SWAP2 /OVERLAID IF <12K 1106 002124 4000 OS8RES+400 1107 002125 6221 CDF 20 1108 002126 5712 JMP I SWAP 1109 002127 0000 SWAP2, 0 1110 002130 1071 TAD O7600 1111 002131 3005 DCA SWAPT3 1112 002132 1727 TAD I SWAP2 1113 002133 2327 ISZ SWAP2 1114 002134 3006 DCA SWAPT4 1115 002135 1727 TAD I SWAP2 1116 002136 2327 ISZ SWAP2 1117 002137 3347 DCA SWPFLD 1118 002140 5345 JMP .+5 1119 002141 6201 SWPLUP, CDF 00 1120 002142 1003 TAD SWAPT1 1121 002143 3406 DCA I SWAPT4 1122 002144 2006 ISZ SWAPT4 1123 002145 1406 TAD I SWAPT4 1124 002146 3004 DCA SWAPT2 1125 002147 7402 SWPFLD, HLT 1126 002150 1405 TAD I SWAPT3 1127 002151 3003 DCA SWAPT1 1128 002152 1004 TAD SWAPT2 1129 002153 3405 DCA I SWAPT3 1130 002154 2005 ISZ SWAPT3 1131 002155 5341 JMP SWPLUP 1132 002156 6201 CDF 00 1133 002157 1003 TAD SWAPT1 1134 002160 3406 DCA I SWAPT4 1135 002161 5727 JMP I SWAP2 1136 002162 4342 BADFIL, 4342;4501;4752;5546;0 002163 4501 002164 4752 002165 5546 002166 0000 1137 002167 4752 ASKFN, 4752;5546;0157;4256;4616;1600 002170 5546 002171 0157 002172 4256 002173 4616 002174 1600 1138 1139 002176 2266 PAGE 002177 2720 1140 002200 1546 RUN, TAD I [LINE+3 /RUNNH ? 1141 002201 1545 TAD I [LINE+4 1142 002202 1377 TAD (-3057 1143 002203 7640 SZA CLA 1144 002204 4543 JMS I [HEADING/GIVE A HEADING 1145 002205 1172 TAD [LINE+2 /SET UP FAKE LINE 1146 002206 3023 DCA TEMP 1147 002207 1134 TAD [WSSAVE 1148 002210 3026 DCA PTR 1149 002211 1123 TAD O7771 1150 002212 3024 DCA TEMP2 1151 002213 1426 TAD I PTR /MOVE FAKE LINE INTO "LINE" 1152 002214 2026 ISZ PTR 1153 002215 3423 DCA I TEMP 1154 002216 2023 ISZ TEMP 1155 002217 2024 ISZ TEMP2 1156 002220 5213 JMP .-5 1157 002221 2033 ISZ RUNFLAG /SET RUN FLAG 1158 002222 5226 JMP GFN 1159 002223 3033 SAVE, DCA RUNFLAG /CLEAR THE RUN FLAG 1160 002224 1055 TAD DEVNUM /SAVE CURRENT DEVICE NUM 1161 002225 3321 DCA OLDDEV /INCASE WE CHANGE 1162 002226 7201 GFN, CLA IAC /SET SAVFLAG 1163 002227 4533 JMS I [GETFN /GET THE DEV:NAME.EX 1164 002230 1265 TAD XNAME /SET UP ENTER 1165 002231 3236 DCA SAVBLK /POINTER TO FILE NAME 1166 002232 1055 TAD DEVNUM /GET DEVICE NUMBER 1167 002233 6212 CIF 10 1168 002234 4460 JMS I O200 /ENTER FILE 1169 002235 0003 3 1170 002236 0000 SAVBLK, 0 /STARTING BLOCK GOES HERE 1171 002237 0000 0 /SIZE GOES HERE 1172 002240 5776 JMP I (IOERR 1173 002241 1236 TAD SAVBLK /PUT BLOCK NUMBER 1174 002242 3775 DCA I (WRBLOK /INTO WRITE 1175 002243 1237 TAD SAVBLK+1/PUT SIZE 1176 002244 3774 DCA I (OUSIZE /SOMEWHERE TOO 1177 002245 3266 DCA OULEN /ZERO BLOCK COUNT 1178 002246 6212 CIF 10 1179 002247 4460 JMS I O200 /DUMP USR 1180 002250 0011 11 1181 002251 4554 JMS I [SWAP /AND NOW OS8 1182 002252 4773 JMS I (PUTFIL /DO THE SAVE 1183 002253 4554 JMS I [SWAP /GET OS8 1184 002254 1033 TAD RUNFLAG /SET NO SWAP BIT IF RUN 1185 002255 3772 DCA I (7746 1186 002256 6212 CIF 10 /GET THE USR 1187 002257 4457 JMS I O7700 1188 002260 0010 10 1189 002261 1055 TAD DEVNUM /GET DEVICE NUMBER 1190 002262 6212 CIF 10 1191 002263 4460 JMS I O200 /CLOSE THE FILE 1192 002264 0004 4 1193 002265 0044 XNAME, NAME 1194 002266 0000 OULEN, 0 /SIZE 1195 002267 5776 JMP I (IOERR 1196 002270 1033 TAD RUNFLAG /WAS IT A RUN ? 1197 002271 7640 SZA CLA 1198 002272 5771 JMP I (DORUN /YES 1199 002273 1321 TAD OLDDEV /IS OLD DEVICE 1200 002274 7041 CIA /THE SAME AS 1201 002275 1055 TAD DEVNUM /THE NEW ONE ?? 1202 002276 7650 SNA CLA 1203 002277 5314 JMP HNDLOK /YES, THE HANDLER IS OK 1204 002300 1321 TAD OLDDEV /RESTORE DEVICE NUMBER 1205 002301 3055 DCA DEVNUM 1206 002302 1141 TAD [HANDLR+1 1207 002303 3310 DCA DEVN /SET UP HANDLER LOAD ADDR 1208 002304 1055 TAD DEVNUM 1209 002305 6212 CIF 10 1210 002306 4460 JMS I O200 1211 002307 0001 1 1212 002310 0000 DEVN, 0 1213 002311 5776 JMP I (IOERR 1214 002312 1310 TAD DEVN /RESET THE HANDLER ADDRESS 1215 002313 3054 DCA DEVHAN 1216 002314 6212 HNDLOK, CIF 10 /GET RID OF THE USR 1217 002315 4460 JMS I O200 1218 002316 0011 11 1219 002317 4554 JMS I [SWAP /REMOVE OS8 AGAIN 1220 002320 5552 JMP I [CMDDONE 1221 002321 0000 OLDDEV, 0 1222 002322 0000 FINDLN, 0 /FIND A LINE 1223 002323 1153 TAD [TXTAREA 1224 002324 3023 DCA TEMP 1225 002325 1023 SEARCH, TAD TEMP /COMPARE THE NUMBER OF 1226 002326 3026 DCA PTR /THIS LINE WITH THE SPOT 1227 002327 1423 TAD I TEMP /IN THE TEXT AREA. 1228 002330 1103 TAD O7701 1229 002331 7450 SNA 1230 002332 5722 JMP I FINDLN /NEW LINE GOES AT EOF 1231 002333 1120 TAD O77 1232 002334 7141 CLL CIA 1233 002335 1040 TAD LINENO 1234 002336 7450 SNA 1235 002337 5347 JMP SAME1ST 1236 002340 7620 SNL CLA 1237 002341 5722 JMP I FINDLN /INSERT NEW LINE 1238 002342 2023 ISZ TEMP 1239 002343 7410 SKP 1240 002344 4556 JMS I [FINCR 1241 002345 4532 CONTIN, JMS I [PASS /IF ITS GREATER KEEP SEARCHING. 1242 002346 5325 JMP SEARCH 1243 002347 2023 SAME1ST,ISZ TEMP /FIRST HALF OF LINE NUM SAME 1244 002350 7410 SKP 1245 002351 4556 JMS I [FINCR 1246 002352 1423 TAD I TEMP 1247 002353 7141 CLL CIA /CHECK SECOND HALF 1248 002354 1041 TAD LINENO+1 1249 002355 7450 SNA 1250 002356 5365 JMP SAME2ND /REPLACE OLD WITH NEW 1251 002357 7630 SZL CLA 1252 002360 5345 JMP CONTIN 1253 002361 4542 JMS I [FDECR 1254 002362 1023 TAD TEMP 1255 002363 3026 DCA PTR 1256 002364 5722 JMP I FINDLN /INSERT NEW LINE 1257 002365 4532 SAME2ND,JMS I [PASS 1258 002366 5722 JMP I FINDLN 1259 1260 002371 2400 PAGE 002372 7746 002373 2000 002374 2111 002375 2064 002376 2715 002377 4721 1261 002400 1377 DORUN, TAD (INFO+11/SET UP SOME OF INFO BLOCK 1262 002401 3010 DCA X10 1263 002402 6211 CDF 10 1264 002403 1054 TAD DEVHAN /SAVE DEVICE HANDLER ADDRESS (DSK:) 1265 002404 3410 DCA I X10 1266 002405 7126 CLL CML RTL /SAVE DEVICE NUMBER 1267 002406 3410 DCA I X10 1268 002407 6201 CDF 1269 002410 1776 TAD I (SAVBLK /SAVE STARTING BLOCK 1270 002411 6211 CDF 10 1271 002412 3410 DCA I X10 1272 002413 1050 TAD FNAME /SAVE FILE NAME 1273 002414 3410 DCA I X10 1274 002415 1051 TAD FNAME+1 1275 002416 3410 DCA I X10 1276 002417 1052 TAD FNAME+2 1277 002420 3410 DCA I X10 1278 002421 1053 TAD FNAME+3 1279 002422 3410 DCA I X10 1280 002423 6201 CDF 1281 002424 4315 JMS XMOVE /MOVE THIS PAGE INTO FIELD 1 1282 002425 6201 CDF 1283 002426 2400 DORUN 1284 002427 6211 CDF 10 1285 002430 7600 -200 1286 002431 6213 CDF CIF 10 /GO TO THE FIELD ONE COPY 1287 002432 4315 RUNDO, JMS XMOVE /MOVE THE HANDLER INTO FIELD 1 1288 002433 6201 CDF 1289 002434 4600 HANDLR 1290 002435 6211 CDF 10 1291 002436 7400 -400 1292 002437 1775 TAD I (INFO+1 /GET START OF BCOMP.SV 1293 002440 3245 DCA BCBLOK 1294 002441 6202 CIF 1295 002442 4774 JMS I (7607 /READ IN THE COMPILER 1296 002443 3700 BCSIZE 1297 002444 0000 0 1298 002445 0000 BCBLOK, 0 1299 002446 5273 JMP WHUPS 1300 002447 4315 JMS XMOVE /MOVE BACK THE HANDLER 1301 002450 6211 CDF 10 1302 002451 4600 HANDLR 1303 002452 6201 CDF 1304 002453 7400 -400 1305 002454 7201 CLA IAC /OPEN THE TEMP FILE 1306 002455 4773 JMS I (200 1307 002456 0003 3 1308 002457 2547 TMPBLK, TMPFIL 1309 002460 0000 0 1310 002461 5273 JMP WHUPS 1311 002462 4773 JMS I (200 /RESET SYSTEM TABLES 1312 002463 0013 13 /AND REMOVE TENTATIVE FILES 1313 002464 1257 TAD TMPBLK /SAVE ITS START 1314 002465 3772 DCA I (INFO+10 1315 002466 1260 TAD TMPBLK+1 1316 002467 3777 DCA I (INFO+11 /AND ITS MAX LENGTH 1317 002470 3771 DCA I (7644 /KILL R SWITCH 1318 002471 6203 CIF CDF 1319 002472 5770 JMP I (BCBEGN /GO START THE COMPILER 1320 002473 1367 WHUPS, TAD (123 /PRINT SY ERROR 1321 002474 4307 JMS TTYO 1322 002475 1366 TAD (131 1323 002476 4307 JMS TTYO 1324 002477 1365 TAD (15 1325 002500 4307 JMS TTYO 1326 002501 1364 TAD (12 1327 002502 4307 JMS TTYO 1328 002503 6041 TSF /WAIT FOR FLAG 1329 002504 5303 JMP .-1 1330 002505 6203 CDF CIF 1331 002506 5775 JMP I (7605 /RETURN TO OS8 1332 002507 0000 TTYO, 0 1333 002510 6041 TSF 1334 002511 5310 JMP .-1 1335 002512 6046 TLS 1336 002513 7200 CLA 1337 002514 5707 JMP I TTYO 1338 002515 0000 XMOVE, 0 1339 002516 6214 RDF /GET CALLING FIELD 1340 002517 1363 TAD (6203 /PLUS CIF CDF 0 1341 002520 3340 DCA MOVRTN /FOR RETURN 1342 002521 4343 JMS GMOVE /GET FROM FIELD 1343 002522 3331 DCA MFFLD 1344 002523 4343 JMS GMOVE /GET ADDRESS 1345 002524 3342 DCA MFPTR 1346 002525 4343 JMS GMOVE /GET TO FIELD 1347 002526 3333 DCA MTFLD 1348 002527 4343 JMS GMOVE /GET COUNT 1349 002530 3343 DCA MCNT 1350 002531 7402 MFFLD, HLT 1351 002532 1742 TAD I MFPTR /MOVE IT 1352 002533 7402 MTFLD, HLT 1353 002534 3742 DCA I MFPTR 1354 002535 2342 ISZ MFPTR 1355 002536 2343 ISZ MCNT 1356 002537 5331 JMP MFFLD 1357 002540 7402 MOVRTN, HLT 1358 002541 5715 JMP I XMOVE 1359 002542 0000 MFPTR, 0 1360 MCNT, 1361 002543 0000 GMOVE, 0 1362 002544 1715 TAD I XMOVE /GET ARG FOR MOVE 1363 002545 2315 ISZ XMOVE 1364 002546 5743 JMP I GMOVE 1365 002547 0201 TMPFIL, FILENAME BASIC.TM 002550 2311 002551 0300 002552 2415 1366 002553 7200 PATCH1, CLA 1367 002554 1362 TAD (400 1368 002555 3174 DCA [LNDIG 1369 002556 3030 DCA NCHARS 1370 002557 5761 JMP I (NOSKIP 1371 1372 002561 1623 PAGE 002562 0400 002563 6203 002564 0012 002565 0015 002566 0131 002567 0123 002570 7001 002571 7644 002572 7614 002573 0200 002574 7607 002575 7605 002576 2236 002577 7615 1373 002600 0000 GETCH, 0 /GET A CHARACTER FROM THE TTY 1374 002601 1034 TAD OLDFLAG /INPUT FROM A FILE ? 1375 002602 7640 SZA CLA 1376 002603 5211 JMP FILEIN /YES 1377 002604 6031 KSF 1378 002605 5204 JMP .-1 1379 002606 6036 KRB 1380 002607 0063 AND O177 1381 002610 5600 JMP I GETCH 1382 002611 2360 FILEIN, ISZ COUNT /ANYTHING IN BUFFER ? 1383 002612 5236 JMP NOREAD /YES, NO READ 1384 002613 1070 TAD O7200 /SET BUFFER COUNT 1385 002614 3360 DCA COUNT 1386 002615 1136 TAD [DSKBUF /SET BUFFER POINTER 1387 002616 3021 DCA RDPTR 1388 002617 1357 TAD RDJMP /RESET JUMP 1389 002620 3236 DCA NOREAD 1390 002621 4554 JMS I [SWAP /GET OS8 1391 002622 1343 TAD RDSIZE /ANY ROOM LEFT ? 1392 002623 7450 SNA 1393 002624 5320 JMP INERR /BAD END OF IFILE 1394 002625 7001 IAC 1395 002626 3343 DCA RDSIZE 1396 002627 4454 JMS I DEVHAN /READ NEXT BLOCK 1397 002630 0200 200 1398 002631 4200 DSKBUF 1399 002632 0000 RDBLOK, 0 1400 002633 5371 JMP CHKSOF /CHECK FOR SOFT ERROR 1401 002634 2232 SOFTOK, ISZ RDBLOK /BUMP BLOCK NUMBER 1402 002635 4554 JMS I [SWAP /AWAY WITH OS8 1403 002636 7402 NOREAD, HLT /3W UNPACK JUMP 1404 002637 5262 JMP INCHR1 1405 002640 5257 JMP INCHR2 1406 002641 1357 INCHR3, TAD RDJMP /RESET SWITCH 1407 002642 3236 DCA NOREAD 1408 002643 1421 TAD I RDPTR /GET LOW 4 BITS 1409 002644 2021 ISZ RDPTR /BUMP POINTER 1410 002645 0124 AND O7400 /MASK IT 1411 002646 7112 CLL RTR /SHIFT RIGHT 4 1412 002647 7012 RTR 1413 002650 3023 DCA TEMP /SAVE 1414 002651 1420 TAD I RDTMP /GET HIGH 4 BITS 1415 002652 0124 AND O7400 1416 002653 1023 TAD TEMP /COMBINE THEM 1417 002654 7112 CLL RTR /SHIFT RIGHT 4 1418 002655 7012 RTR 1419 002656 5264 JMP AND177 /GO FINISH 1420 002657 1021 INCHR2, TAD RDPTR /SAVE ADDR OF FIRST WORD 1421 002660 3020 DCA RDTMP 1422 002661 2021 ISZ RDPTR /BUMP POINTER 1423 002662 1421 INCHR1, TAD I RDPTR /GET NEXT CHAR 1424 002663 2236 ISZ NOREAD /BUMP SWITCH 1425 002664 0063 AND177, AND O177 /MASK 7 BITS 1426 002665 1116 TAD O7746 /CHECK FOR ^Z 1427 002666 7450 SNA 1428 002667 5272 JMP ENDOLD /EOF 1429 002670 1067 TAD O32 /RESTORE CHAR 1430 002671 5600 JMP I GETCH 1431 002672 3034 ENDOLD, DCA OLDFLAG /KILL OLD FLAG 1432 002673 1032 TAD CHNFLAG /WAS IT A RETURN FROM RUN ? 1433 002674 7650 SNA CLA 1434 002675 5552 JMP I [CMDDONE/NO, JUST AN OLD COMMAND 1435 002676 3032 DCA CHNFLAG /KILL FLAG 1436 002677 1377 TAD (INFO-3764 1437 002700 3010 DCA X10 /PICK UP NAME FROM INFO BLOCK 1438 002701 1410 TAD I X10 /(WHICH IS SWAPPED OUT) 1439 002702 3050 DCA FNAME 1440 002703 1410 TAD I X10 1441 002704 3051 DCA FNAME+1 1442 002705 1410 TAD I X10 1443 002706 3052 DCA FNAME+2 1444 002707 1410 TAD I X10 1445 002710 3053 DCA FNAME+3 1446 002711 5552 JMP I [CMDDONE/DONE WITH RETURN 1447 002712 3053 OLDBAD, DCA FNAME+3 /TRY WITHOUT EXT 1448 002713 2023 ISZ TEMP /OR HAVE WE ALREADY ? 1449 002714 5334 JMP OLDTRY /NO, NOT YET 1450 IOERR, 1451 002715 6212 INERRX, CIF 10 1452 002716 4460 JMS I O200 /DISMISS USR 1453 002717 0011 11 1454 OUERR, 1455 002720 3034 INERR, DCA OLDFLAG /KILL OLD STATUS 1456 002721 4554 JMS I [SWAP /OUT WITH OS8 1457 002722 4576 JMS I [TYPE /PRINT MESSAGE 1458 002723 2162 BADFIL 1459 002724 5551 JMP I [MAINLUP 1460 002725 1153 OLD, TAD [TXTAREA/SCRATCH FILE 1461 002726 4560 JMS I [SETEOF 1462 002727 3042 DCA EOFLIN /ZERO LAST LINE NUM 1463 002730 3043 DCA EOFLIN+1 1464 002731 4533 JMS I [GETFN /GET FILE NAME 1465 002732 7144 CLL CMA RAL /SET RETRY COUNT 1466 002733 3023 DCA TEMP 1467 002734 1150 OLDTRY, TAD [FNAME /POINTER TO FILE NAME 1468 002735 3342 DCA SB /INTO LOOKUP CALL 1469 002736 1055 TAD DEVNUM /GET DEVICE NUMBER 1470 002737 6212 CIF 10 1471 002740 4460 JMS I O200 /LOOKUP FILE 1472 002741 0002 2 1473 002742 0000 SB, 0 /START GOES HERE 1474 002743 0000 RDSIZE, 0 /SIZE GOES HERE 1475 002744 5312 JMP OLDBAD /BAD FILE 1476 002745 1342 TAD SB /MOVE BLOCK 1477 002746 7450 SNA 1478 002747 2343 ISZ RDSIZE /SET COUNT TO 4095 IF NOT D.A. 1479 002750 3232 DCA RDBLOK 1480 002751 7201 CLA IAC /SET SWITCH 1481 002752 3034 DCA OLDFLAG /INPUT COMING FROM FILE 1482 002753 7240 CLA CMA /SET COUNT TO INITIALIZE READ 1483 002754 3360 DCA COUNT 1484 002755 4554 JMS I [SWAP /MOVE OS8 1485 002756 5551 JMP I [MAINLUP/DO OLD 1486 002757 5237 RDJMP, JMP NOREAD+1 1487 002760 0000 COUNT, 0 1488 002761 4531 PATCH2, JMS I [SRCHBK 1489 002762 0001 01 1490 002763 0032 32 1491 002764 5776 JMP I (EXA 1492 002765 1375 TAD (-56 1493 002766 7640 SZA CLA 1494 002767 5315 JMP INERRX 1495 002770 5774 JMP I (PATCH4 1496 / 1497 002771 7700 CHKSOF, SMA CLA 1498 002772 5234 JMP SOFTOK /SOFT ERROR 1499 002773 5320 JMP INERR 1500 1501 002774 0363 PAGE 002775 7722 002776 1367 002777 3620 1502 003000 7750 HEIGHT, -30 /SET TO SCREEN HEIGHT BY SET COMMAND 1503 003001 7600 SDELAY, -200 /SET TO HOLD SCREEN DELAY BY SET COMMAND 1504 IFNZRO HEIGHT-3000 <__FIX SET COMMAND__> 1505 003002 0000 LINCNT, 0 /THIS WORD IS ZERO TO FLAG THE NEW BASIC EDITOR TO "SET" 1506 003003 0000 CURPOS, 0 1507 1508 003004 0000 STIMER, 0 1509 003005 0000 SCOPFG, 0 /SET NONZERO IF TERMINAL IS A SCOPE 1510 1511 /SKIP IF ^O NOT TYPED AND CLEAR 'COFLG' 1512 /RETURN TO CALL+1 IF ^O WAS TYPED AND SET 'COFLG' 1513 /SET OR CLEAR 'CLFLG' IF ^S OR ^Q TYPED OTHERWISE 1514 1515 ZERO, 1516 003006 0000 CTRLO, 0 1517 003007 6031 KSF 1518 003010 5227 JMP CTRLOX 1519 003011 6036 KRB 1520 003012 0313 AND A177 1521 003013 1307 TAD MCC 1522 003014 7450 SNA 1523 003015 5777 JMP I (BYEBYE 1524 003016 1310 TAD MCO 1525 003017 7450 SNA 1526 003020 5231 JMP CTRLOX+2 1527 003021 1311 TAD MCQ 1528 003022 7450 SNA 1529 003023 5234 JMP SETFLG+1 1530 003024 1312 TAD MCS 1531 003025 7450 SNA 1532 003026 5233 JMP SETFLG 1533 003027 2206 CTRLOX, ISZ CTRLO 1534 003030 7201 CLA IAC 1535 003031 3031 DCA COFLAG 1536 003032 5606 JMP I CTRLO 1537 1538 003033 7001 SETFLG, IAC 1539 003034 3127 DCA CSFLG 1540 003035 5227 JMP CTRLOX 1541 1542 1543 003036 0000 CRLF, 0 1544 003037 1076 TAD O215 1545 003040 4575 JMS I [TTYOUT 1546 003041 1077 TAD O212 1547 003042 4575 JMS I [TTYOUT 1548 003043 5636 JMP I CRLF 1549 1550 /PRINT A CHAR ON TERMINAL 1551 /PAUSE IF LF WAS PRINTED AND DELAY REQUESTED 1552 /SCREENSIZE ALSO SET BY "SET TTY" COMMAND 1553 1554 003044 0000 TTYOUT, 0 1555 003045 6041 TSF /FIRST WAIT 1556 003046 5245 JMP .-1 1557 003047 6046 TLS /NOW PRINT THE CHAR 1558 003050 0313 AND A177 1559 003051 1376 TAD (-15 /TEST IF LF WILL FOLLOW 1560 003052 7640 SZA CLA 1561 003053 5644 JMP I TTYOUT /RETURN IF NO 1562 003054 2202 ISZ LINCNT /TEST LINE COUNTER FOR SCREENFULL 1563 003055 5644 JMP I TTYOUT 1564 003056 1200 TAD HEIGHT 1565 003057 3202 DCA LINCNT /NOW RESET SCREEN COUNTER 1566 003060 1201 TAD SDELAY 1567 003061 7450 SNA /SKIP IF DELAY REQUESTED 1568 003062 5644 JMP I TTYOUT /OTHERWISE JUST RETURN AT ONCE 1569 003063 3204 DCA STIMER /SET HOLD SCREEN TIMER 1570 003064 6031 DLOOP, KSF /FIRST TEST IF KEY STRUCK 1571 003065 5302 JMP NOKST /JMP IF NO 1572 003066 6034 KRS /ELSE READ CHAR 1573 003067 0313 AND A177 /MASK TO 7BIT 1574 003070 1307 TAD MCC 1575 003071 7450 SNA 1576 003072 5530 JMP I [BYEBYE /JMP IF ^C SEEN 1577 003073 1310 TAD MCO 1578 003074 7440 SZA 1579 003075 1311 TAD MCQ 1580 003076 7440 SZA 1581 003077 1312 TAD MCS 1582 003100 7650 SNA CLA 1583 003101 5644 JMP I TTYOUT /RETURN WITH CHAR STILL IN BUFFER IF ANY OF ABOVE SEEN 1584 003102 2206 NOKST, ISZ ZERO 1585 003103 5302 JMP .-1 /LOOP 4096 TIMES (USUALLY) 1586 003104 2204 ISZ STIMER /TEST DELAY COUNTER 1587 003105 5264 JMP DLOOP /REITERATE IF NOT DONE 1588 003106 5644 JMP I TTYOUT /ELSE RETURN FOR MORE 1589 1590 003107 7775 MCC, -3 1591 003110 7764 MCO, -17+3 1592 003111 7776 MCQ, -21+17 1593 003112 7776 MCS, -23+21 1594 003113 0177 A177, 177 1595 1596 /PRINT A BACKSPACE 1597 /IF TERMINAL IS A SCOPE, ECHO BS,SP,BS TO RUBOUT AND REPOSITION 1598 /CURSOR. OTHERWWISE ECHO BACKARROW 1599 1600 003114 0000 PRTBSP, 0 1601 003115 1205 TAD SCOPFG /TEST SCOPE BIT 1602 003116 7650 SNA CLA 1603 003117 5335 JMP BKARRW /NOT - ECHO BACKARROW 1604 003120 1030 TAD NCHARS /SEE IF AT LEFT MARGIN 1605 003121 1027 TAD NDIGS 1606 003122 7650 SNA CLA 1607 003123 5714 JMP I PRTBSP /DO NOTHING IF YES 1608 003124 1111 TAD O10 /ELSE ECHO BS 1609 003125 4575 JMS I [TTYOUT 1610 003126 1375 TAD (40 1611 003127 4575 JMS I [TTYOUT /SP 1612 003130 1111 TAD O10 1613 003131 7410 SKP /BS 1614 003132 1375 JUSTSP, TAD (40 /SPACE 1615 003133 4575 JMS I [TTYOUT 1616 003134 5714 JMP I PRTBSP /DONE 1617 003135 1374 BKARRW, TAD ("_ 1618 003136 4575 JMS I [TTYOUT 1619 003137 5714 JMP I PRTBSP 1620 1621 003174 0337 PAGE 003175 0040 003176 7763 003177 1063 1622 LINE, /THE TELETYPE LINE BUFFER. 1623 003200 0000 WSNAME, 0;0;0145;6454;3343;4264;5244;1770;6400 003201 0000 003202 0145 003203 6454 003204 3343 003205 4264 003206 5244 003207 1770 003210 6400 1624 003211 5235 START, JMP RBASIC /IT WAS RAN 1625 003212 6211 CDF 10 /IF CHAINED TO CHECK IF CCL PASSED 1626 003213 1777 TAD I (7644 /Q SWITCH IN RESPONSE TO .BASIC COMMAND (OS78) 1627 003214 6201 CDF 1628 003215 0060 AND O200 /ISOLATE THE BIT 1629 003216 7640 SZA CLA 1630 003217 5235 JMP RBASIC /TREAT AS .R BASIC IF YES 1631 003220 4776 JMS I (CORE 1632 003221 7201 CLA IAC 1633 003222 3775 DCA I (JSW /NO SWAP 1634 003223 6212 CIF 10 1635 003224 4774 JMS I (7700 /FETCH USR 1636 003225 0010 10 1637 003226 6212 CIF 10 1638 003227 4773 JMS I (200 /RESET SYSTEM TABLES 1639 003230 0013 13 1640 003231 6046 TLS /SET TTY FLAG 1641 003232 4313 JMS GETDAT /SET UP TITLE 1642 003233 2032 ISZ CHNFLAG /TELL ABOUT RETURN FROM RUN 1643 003234 5772 JMP I (OLD /READ IN OLD WORK SPACE 1644 003235 6211 RBASIC, CDF 10 1645 003236 3771 DCA I (7643 1646 003237 3777 DCA I (7644 1647 003240 6201 CDF 0 1648 003241 6046 TLS 1649 003242 4776 JMS I (CORE 1650 003243 1120 TAD O77 1651 003244 3553 DCA I [TXTAREA 1652 003245 4313 JMS GETDAT /SET UP TITLE 1653 003246 1411 FINDSV, TAD I X11 /LOOK UP SOME SAVE FILES 1654 003247 7450 SNA 1655 003250 5267 JMP LUBUF /GO FIND BASIC.UF 1656 003251 3256 DCA XXXXSV /SAVE POINTER TO NAME 1657 003252 7201 CLA IAC 1658 003253 6212 CIF 10 1659 003254 4773 JMS I (200 1660 003255 0002 2 1661 003256 0000 XXXXSV, 0 1662 003257 0000 0 1663 003260 5310 JMP NG 1664 003261 7001 IAC 1665 003262 6211 CDF 10 1666 003263 1256 TAD XXXXSV 1667 003264 3410 DCA I X10 /SAVE BLOCK PLUS 1 1668 003265 6201 CDF /IN INFO AREA 1669 003266 5246 JMP FINDSV 1670 003267 7201 LUBUF, CLA IAC /FIND BASIC.UF 1671 003270 6212 CIF 10 1672 003271 4773 JMS I (200 1673 003272 0002 2 1674 003273 3474 BUFN 1675 003274 0000 0 1676 003275 5300 JMP .+3 /OK IF MISSING 1677 003276 1273 TAD .-3 1678 003277 7001 IAC /SAVE BLOCK +1 1679 003300 6211 CDF 10 1680 003301 3410 DCA I X10 1681 003302 6201 CDF 1682 003303 7201 CLA IAC /TYPE WITH NO CARRIAGE RETURN 1683 003304 4576 JMS I [TYPE /"OLD OR NEW -- " 1684 003305 3511 OLDNEW 1685 003306 4554 JMS I [SWAP 1686 003307 5770 JMP I (MAINLUP 1687 003310 4576 NG, JMS I [TYPE /PART OF SYSTEM MISSING 1688 003311 3500 MISING 1689 003312 5767 JMP I (7605 1690 1691 /THE FOLLOWING ROUTINE ASSUMES THAT THE YEAR IS ALREADY 1692 /SET UP BY A CALL TO "CORE" - JR 1693 1694 003313 0000 GETDAT, 0 /PUT OS8 DATE INTO THE TITLE 1695 003314 6211 CDF 10 1696 003315 1766 TAD I (MDATE /GET DATE WORD 1697 003316 6201 CDF 1698 003317 3024 DCA TEMP2 /SAVE IT 1699 003320 1024 TAD TEMP2 1700 003321 7450 SNA 1701 003322 5713 JMP I GETDAT /NO DATE 1702 003323 0124 AND O7400 /GET MONTH 1703 003324 7106 CLL RTL /SHIFT SOME 1704 003325 7006 RTL 1705 003326 7006 RTL 1706 003327 1365 TAD (MONTHS-3 1707 003330 3012 DCA X12 1708 003331 1364 TAD (DATE-1 /SET UP POINTER TO DATE 1709 003332 3013 DCA X13 1710 003333 1024 TAD TEMP2 /GET DAY 1711 003334 7012 RTR 1712 003335 7010 RAR 1713 003336 0100 AND O37 1714 003337 5342 JMP DAYGO /CONVER TO TEXT 1715 003340 1363 DAYLP, TAD (100-12 /REDUCE AND TALLY QUOTIENT 1716 003341 1023 TAD TEMP 1717 003342 3023 DAYGO, DCA TEMP 1718 003343 1023 TAD TEMP /SEE IF OVERFLOW 1719 003344 0120 AND O77 1720 003345 1113 TAD O7766 1721 003346 7700 SMA CLA 1722 003347 5340 JMP DAYLP /REDUCE MOD 10 IF NOT 1723 003350 1023 TAD TEMP 1724 003351 1362 TAD (2121 /UNPACK TO HANK'S ASCII 1725 003352 3413 DCA I X13 /INTO DATE 1726 003353 1412 TAD I X12 /GET MONTH CHARS 1727 003354 3413 DCA I X13 1728 003355 1412 TAD I X12 1729 003356 3413 DCA I X13 1730 / TAD TEMP2 /GET YEAR 1731 / AND (7 1732 / TAD (21 1733 / CLL RTL 1734 / RTL 1735 / RTL 1736 / ISZ X13 /THE WORD WITH -7 IS THERE 1737 / DCA I X13 /STORE LAST DIGIT OF YEAR 1738 1739 /ABOVE JOB DONE BY "CORE" DURING INIT TIME 1740 1741 003357 5713 JMP I GETDAT 1742 1743 003362 2121 PAGE 003363 0066 003364 1323 003365 3375 003366 7666 003367 7605 003370 0604 003371 7643 003372 2725 003373 0200 003374 7700 003375 7746 003376 3600 003377 7644 1744 003400 1653 MONTHS, 1653;4257 /-JAN 003401 4257 1745 003402 1647 1647;4643 /-FEB 003403 4643 1746 003404 1656 1656;4263 /-MAR 003405 4263 1747 003406 1642 1642;6163 /-APR 003407 6163 1748 003410 1656 1656;4272 /-MAY 003411 4272 1749 003412 1653 1653;6657 /-JUN 003413 6657 1750 003414 1653 1653;6655 /-JUL 003415 6655 1751 003416 1642 1642;6650 /-AUG 003417 6650 1752 003420 1664 1664;4661 /-SEP 003421 4661 1753 003422 1660 1660;4465 /-OCT 003423 4465 1754 003424 1657 1657;6067 /-NOV 003425 6067 1755 003426 1645 1645;4644 /-DEC 003427 4644 1756 003430 3440 NAMLST, BASICN 1757 003431 3444 BCOMPN 1758 003432 3450 BLOADN 1759 003433 3454 BRTSN 1760 003434 3460 BAFN 1761 003435 3464 BSFN 1762 003436 3470 BFFN 1763 003437 0000 0 1764 003440 0201 BASICN, FILENAME BASIC.SV 003441 2311 003442 0300 003443 2326 1765 003444 0203 BCOMPN, FILENAME BCOMP.SV 003445 1715 003446 2000 003447 2326 1766 003450 0214 BLOADN, FILENAME BLOAD.SV 003451 1701 003452 0400 003453 2326 1767 003454 0222 BRTSN, FILENAME BRTS.SV 003455 2423 003456 0000 003457 2326 1768 003460 0201 BAFN, FILENAME BASIC.AF 003461 2311 003462 0300 003463 0106 1769 003464 0201 BSFN, FILENAME BASIC.SF 003465 2311 003466 0300 003467 2306 1770 003470 0201 BFFN, FILENAME BASIC.FF 003471 2311 003472 0300 003473 0606 1771 003474 0201 BUFN, FILENAME BASIC.UF 003475 2311 003476 0300 003477 2506 1772 003500 5257 MISING, 5257;4460;5661;5546;6546;0164;7264;6546;5600 003501 4460 003502 5661 003503 5546 003504 6546 003505 0164 003506 7264 003507 6546 003510 5600 1773 003511 5746 OLDNEW, 5746;7001;6063;0160;5545;1616;0 003512 7001 003513 6063 003514 0160 003515 5545 003516 1616 003517 0000 1774 1775 PAGE 1776 /THIS PAGE GETS WIPED OUT SOON 1777 1778 /ROUTINE TO GET CORESIZE, SETUP DATE IN HEADING 1779 /AND SET SCOPE / TTY FLAG FOR RUBOUT TREATMENT 1780 1781 1782 003600 0000 CORE, 0 /CORE SIZE SUBROUTINE 1783 003601 6211 CDF 10 /GET INTO DATE FIELD 1784 003602 1777 TAD I (MDATE 1785 003603 6201 CDF /RESET FIELD 1786 003604 0376 AND (7 /LOOK AT LOW YEAR BITS 1787 003605 3023 DCA TEMP /HOLD 1788 003606 1775 TAD I (BIPCCL /NOW GET THE EXTENDED BITS 1789 003607 0374 AND (600 /FROM THE 600 BITS 1790 003610 7112 CLL RTR 1791 003611 7112 CLL RTR /SHIFT INTO PLACE 1792 003612 1023 TAD TEMP /ADD TO LOW BITS 1793 003613 2773 ISZ I (DASH6 /BUMP THE YEAR TENS DIGIT 1794 003614 1372 TAD (-12 1795 003615 7500 SMA /SKP IF .LT. 10 OFF OF 1970 1796 003616 5213 JMP .-3 /ELSE DECR AGAIN 1797 003617 1371 TAD (12+21 /CONVERT TO "HANKS ASCII" 1798 003620 7106 CLL RTL 1799 003621 7006 RTL 1800 003622 7006 RTL /SWAP TO LEFT HALF BYTE 1801 003623 3770 DCA I (EODAT /NOW STORE IN DATE TEMPLATE 1802 003624 6211 CDF 10 1803 003625 1767 TAD I (7726 /LOOK AT HLT/CLA HLT SCOPE KLUDGE 1804 003626 6201 CDF 1805 003627 0060 AND O200 /GET SCOPE BIT 1806 003630 3766 DCA I (SCOPFG /AND STORE IT 1807 1808 /STANDARD OS/8 CORESIZE ROUTINE 1809 1810 003631 1775 TAD I (7777 1811 003632 0257 AND COR70 1812 003633 7110 CLL RAR 1813 003634 7012 RTR 1814 003635 7450 SNA 1815 003636 5242 JMP COR0 1816 003637 7001 IAC 1817 003640 3037 DCA CORSIZ 1818 003641 5272 JMP COREX 1819 003642 6201 COR0, CDF 1820 003643 1037 TAD CORSIZ 1821 003644 7006 RTL 1822 003645 7004 RAL 1823 003646 0257 AND COR70 1824 003647 1272 TAD COREX 1825 003650 3251 DCA .+1 1826 003651 6201 COR1, CDF 1827 003652 1705 TAD I CORLOC 1828 003653 7000 COR2, NOP 1829 003654 3251 DCA COR1 1830 003655 1253 TAD COR2 1831 003656 3705 DCA I CORLOC 1832 003657 0070 COR70, 70 1833 003660 1705 TAD I CORLOC 1834 003661 7400 CORX, 7400 1835 003662 1261 TAD CORX 1836 003663 1306 TAD CORV 1837 003664 7640 SZA CLA 1838 003665 5272 JMP COREX 1839 003666 1251 TAD COR1 1840 003667 3705 DCA I CORLOC 1841 003670 2037 ISZ CORSIZ 1842 003671 5242 JMP COR0 1843 003672 6201 COREX, CDF 1844 003673 1037 TAD CORSIZ 1845 003674 7041 CIA 1846 003675 3037 DCA CORSIZ 1847 003676 7326 CLL CML CLA RTL /2 1848 003677 1037 TAD CORSIZ 1849 003700 7640 SZA CLA 1850 003701 5600 JMP I CORE 1851 003702 1365 TAD (SWAP&177+5600 1852 003703 3764 DCA I (PATCH5 1853 003704 5600 JMP I CORE 1854 003705 3661 CORLOC, CORX 1855 003706 1400 CORV, 1400 1856 1857 003764 2123 $$ 003765 5712 003766 3005 003767 7726 003770 1330 003771 0033 003772 7766 003773 1327 003774 0600 003775 7777 003776 0007 003777 7666 000130 1063 000131 0760 000132 0525 000133 1600 000134 1242 000135 1452 000136 4200 000137 1475 000140 0044 000141 4601 000142 0541 000143 1251 000144 3342 000145 3204 000146 3203 000147 1331 000150 0050 000151 0604 000152 0600 000153 5200 000154 2112 000155 0731 000156 0555 000157 3201 000160 1153 000161 2322 000162 1163 000163 3200 000164 1200 000165 0200 000166 1061 000167 3006 000170 0047 000171 1126 000172 3202 000173 3036 000174 0400 000175 3044 000176 0471 000177 2600 A177 3113 ALT 0237 AND177 2664 ARROW 0320 ASKFN 2167 ASKNAM 1675 ASKNM 1713 BADFIL 2162 BAFN 3460 BASICN 3440 BCBEGN 7001 BCBLOK 2445 BCOMPN 3444 BCSIZE 3700 BFFN 3470 BIPCCL 7777 BKARRW 3135 BLOADN 3450 BRTSN 3454 BSFN 3464 BSKIP 1616 BUFN 3474 BYE 1066 BYEBYE 1063 CARRET 0335 CHKSOF 2771 CHNFLA 0032 CMDDON 0600 COFLAG 0031 COMLUP 1202 COMMAN 1200 COMTBL 1220 CONTIN 2345 CONV 1270 COR0 3642 COR1 3651 COR2 3653 COR70 3657 CORE 3600 COREOV 1061 COREX 3672 CORLOC 3705 CORSIZ 0037 CORTMP 0036 CORV 3706 CORX 3661 COUNT 2760 CRLF 3036 CRSWIT 0541 CSFLG 0127 CTRLO 3006 CTRLOX 3027 CTRLS 1561 CURPOS 3003 unreferenced DASH6 1327 DATE 1324 DAYGO 3342 DAYLP 3340 DEV 1647 DEVHAN 0054 DEVN 2310 DEVNUM 0055 DIG1 0463 DIG123 0467 DIG2 0453 DIG23 0461 DIG3 0450 DIG4 0442 DIG456 0446 DIG5 0432 DIG56 0440 DIG6 0427 unreferenced DIGIT 1515 DLOOP 3064 DORUN 2400 DSKBUF 4200 DUMMY 0357 ENDOLD 2672 EODAT 1330 EOFADR 0035 EOFFLD 1166 EOFLIN 0042 EXA 1367 EXB 1371 EXPAND 1000 FDECR 0541 FILEIN 2611 FINCR 0555 FINDLN 2322 FINDSV 3246 FNAME 0050 FRSTDI 1514 GETCH 2600 GETDAT 3313 GETEOF 1163 GETFIL 1452 GETFN 1600 GETHAN 1642 GETLIN 0200 GETNAM 1723 GETNC 1331 GFN 2226 GFRET 1550 GMOVE 2543 HANDLR 4600 HEADIN 1251 HEIGHT 3000 HERE 0563 HNDLOK 2314 IGNORE 0206 INCHR1 2662 INCHR2 2657 INCHR3 2641 unreferenced INERR 2720 INERRX 2715 INFO 7604 INSERT 0646 unreferenced IOERR 2715 ISTEXT 0267 JMPINS 2110 JSW 7746 JUSTSP 3132 unreferenced LASTDI 1513 LASTWD 1056 LEFTTX 1534 LINCNT 3002 LINE 3200 LINENO 0040 LINFTX 1556 LIST 1400 LISTNH 1411 LNDIG 0400 LSTLUP 1443 LUBUF 3267 LWREOF 0727 M40 1660 MAINLU 0604 MCC 3107 MCNT 2543 MCO 3110 MCQ 3111 MCS 3112 MDATE 7666 MFFLD 2531 MFPTR 2542 MISING 3500 MONTHS 3400 MOVE 0731 MOVEFN 1657 unreferenced MOVENT 0741 unreferenced MOVLUP 0743 MOVRTN 2540 MSGALT 1102 MSGBIG 1072 MSGRDY 1566 MSGTOO 1112 MSGWHA 1107 MTFLD 2533 NAME 0044 NAMLST 3430 NAMLUP 1735 NCHARS 0030 NDIGS 0027 NEW 1762 NG 3310 NOCOMD 0614 NOFUSR 1615 NOKST 3102 NOREAD 2636 NORM 1126 NOSKIP 1623 NOTLAS 0645 NUMDUN 1425 NZDIGI 1531 O10 0111 O12 0122 O13 0075 O137 0115 unreferenced O14 0126 unreferenced O17 0072 O177 0063 O200 0060 O201 0061 O212 0077 O215 0076 O232 0064 O237 0074 O260 0073 O32 0067 O36 0117 O37 0100 O6171 0105 O6201 0110 O6211 0106 O7200 0070 O7201 0065 O7400 0124 O7405 0102 O7600 0071 O7634 0114 O77 0120 O7700 0057 O7701 0103 O7706 0066 O7741 0101 O7745 0121 O7746 0116 O7760 0125 O7761 0062 unreferenced O7766 0113 O7770 0107 O7771 0123 O7772 0104 O7774 0112 OLD 2725 OLDBAD 2712 OLDDEV 2321 OLDFLA 0034 OLDNEW 3511 OLDTRY 2734 OS8RES 3400 OUERR 2720 OULEN 2266 OUSIZE 2111 PASS 0525 PATCH1 2553 PATCH2 2761 PATCH3 1353 PATCH4 0363 PATCH5 2123 PFCTLZ 2020 PFLOOP 2014 PFTEMP 2030 PH1 2104 PH2 2101 PH3 2036 unreferenced PRTBSP 3114 PTR 0026 PTR2FL 1475 PTRFLD 0746 PUTCH 2031 PUTFIL 2000 PUTJMP 2033 RBASIC 3235 RDBLOK 2632 RDJMP 2757 RDPTR 0021 RDSIZE 2743 RDTMP 0020 RENAME 1753 RIGHTY 0312 RITETX 1541 RUN 2200 RUNDO 2432 unreferenced RUNFLA 0033 SAME1S 2347 SAME2N 2365 SAVBLK 2236 SAVE 2223 SAVFLA 1722 SB 2742 SCOPFG 3005 SCRATC 1121 SDELAY 3001 SEARCH 2325 SETEOF 1153 SETFLG 3033 SIZE 0022 SOFTOK 2634 SRCHBK 0760 START 3211 unreferenced STIMER 3004 SWAP 2112 SWAP2 2127 SWAPT1 0003 SWAPT2 0004 SWAPT3 0005 SWAPT4 0006 SWPFLD 2147 SWPLUP 2141 SWPNUM 0056 TCRLF 0521 TEM 0775 TEMP 0023 TEMP2 0024 TESTCH 1345 TITLE 1312 TLOOP 0476 TMP2FL 1025 TMPBLK 2457 TMPFIL 2547 TMPFLD 0704 TOWARD 0025 TTYO 2507 TTYOUT 3044 TWD2FL 1027 TWDFLD 0706 TXTARE 5200 TYPE 0471 USEDSK 1636 VERLOC 1321 unreferenced VERSON 0005 WHAT 1215 WHUPS 2473 WRBLOK 2064 WSNAME 3200 unreferenced WSSAVE 1242 X10 0010 X11 0011 X12 0012 X13 0013 X14 0014 unreferenced X15 0015 unreferenced X16 0016 unreferenced X17 0017 unreferenced XMOVE 2515 XNAME 2265 XTITLE 1265 XXXXSV 3256 ZERO 3006 ZEROTX 1552