100 TACAS!READ /AC=>ADDRESS, MEM(ADDRESS)=>M 110 CLA /CLEAN UP 120 JMP I SETADRESS /RETURN 130 EJECT 140 ARG, TAD CHAR /ARGUMENT EVALUATOR 150 TAD (-",) /GOOD TERMINATOR? 160 PSYSIO, SZA CLA /SKIP IF SO 170 POPJ /RETURN IF NOT 180 PUSHJ; EVAL-1 /EVALUATE SECOND ARGUMENT 190 IAC /INDICATE SKIP RETURN 200 POPJ /RETURN 210 220 IOWORD, .-. /I/O WORD FOR FBLK 230 240 PAGE 250 260 NEND= . /END OF RELOCATABLE PATCH CODE 270 EJECT 280 / ONCE-ONLY CODE STARTS HERE. 290 300 *BONCE /OVER DEFAULT ONCE-ONLY AREA 310 320 PBASE, TAD BOTTOM /\ 330 TAD (-200+1) / \ESTABLISH 340 AND P7600/[7600] / /BASE ADDRESS 350 DCA PBASE // 360 TAD PBASE /\ 370 TAD (NSTART&177-1) / >ESTABLISH NEW LIMIT 380 DCA BOTTOM // 390 TAD PBASE /\ 400 TAD (XBLK&177) / >INSERT FBLK 410 DCA I (FNTABF+14) // 420 TAD PBASE /\ 430 TAD (XWRD&177) / >INSERT FWRD 440 DCA I (FNTABF+15) // 450 TAD PBASE /\ 460 TAD (XNIC&177) / >INSERT FNIC 470 DCA I (FNTABF+16) // 480 TAD PBASE /\ 490 TAD (ARG&177) / \ 500 DCA I (LARG1) / \ 510 TAD I (LARG1) / >FIXUP ADDRESS CONSTANTS 520 DCA I (LARG2) / / 530 TAD I (LARG2) / / 540 DCA I (LARG3) // 550 TAD I (SBTFUN) /GET MONITOR UNIT 560 RAR /MOVE LOW-ORDER TO LINK 570 CML RAL /INVERT AND MOVE BACK 580 AND (7) /JUST UNIT BITS 590 TAD (N^100+BUFFLD+4000) /ADD ON FUNCTION BITS 600 DCA I (IOWORD) /STORE IN I/O WORD 610 TAD BOTTOM /\ 620 IAC / >SETUP MOVE BASE 630 DCA PBASE // 640 TAD I LNSTART /\ 650 DCA I PBASE / \ 660 ISZ LNSTART / \MOVE DOWN PATCH TO 670 ISZ PBASE / /WHERE IT BELONGS 680 ISZ MOVCNT / / 690 JMP .-5 // 700 DCA I (BEOFZAP) /REPAIR LOADER 710 JMP I (BEOFZAP) /RESUME LOADING 720 EJECT 730 LNSTART,NSTART /POINTER TO NSTART 740 MOVCNT, NSTART-NEND /CODE MOVE COUNTER 750 760 PAGE 770 780 *BEOFZAP /OVER LOADER 790 800 SKP /MAKE IT COME TO US 810 820 $ /THAT'S ALL FOLK!