100 JMP PLOOP /KEEP GOING 110 EJECT 120 PEND, JMS INCON /GET SOME INPUT 130 JMP .-1 /WAIT FOR IT 140 AND [177] /JUST SEVEN-BIT 150 DCA EFUN /SAVE IT 160 NL7775 /-3 170 TAD EFUN /COMPARE TO LATEST 180 SMA SZA /SKIP IF <^C> OR LESS 190 JMP NOTUPC /JUMP IF <^D> OR GREATER 200 SMA CLA /SKIP IF LESS THAN <^C> 210 JMP GOTUPC /JUMP IF <^C> 220 TAD EADDR /GET PREVIOUS CHARACTER 230 DCA INCHAR /RESTORE IT 240 GOTUPC, CIF CDF 00 /GOING TO FIELD 0 250 JMP I [SBOOT] /GOODBYE! 260 270 NOTUPC, CLA /CLEAN UP 280 TAD EADDR /GET PREVIOUS CHARACTER 290 DCA INCHAR /RESTORE IT 300 CDF 00 /SOME I/O ROUTINES MIGHT WANT THIS 310 JMP I BLBDISPLAY /RETURN 320 330 EADDR, .-. /ADDRESS TEMPORARY 340 EFUN, .-. /FUNCTION TEMPORARY 350 360 PAGE 370 EJECT 380 OCTMOVE,.-. /FOUR DIGIT MOVE ROUTINE 390 DCA BLBCHAR /SAVE PASSED VALUE 400 TAD [-4] /SETUP THE 410 DCA I MOVBLB /MOVE COUNT 420 TAD I OCTMOVE /GET THE MESSAGE ADDRESS 430 DCA CXR1 /SET IT UP 440 ISZ OCTMOVE /BUMP PAST ARGUMENT 450 OCTLUP, TAD BLBCHAR /GET THE VALUE 460 CLL RTL;RAL /MOVE UP 470 DCA BLBCHAR /STORE BACK 480 TAD BLBCHAR /GET IT AGAIN 490 RAL /MOVE UP 500 AND [7] /JUST LATEST DIGIT 510 TAD ["0&177] /MAKE IT ASCII 520 DCA I CXR1 /STORE IN MESSAGE 530 ISZ I MOVBLB /DONE YET? 540 JMP OCTLUP /NO, KEEP GOING 550 JMP I OCTMOVE /YES, RETURN 560 570 BLBCHAR,.-. /BLURB CHARACTER FILLING ROUTINE 580 AND (77) /JUST SIX-BIT 590 SNA /? 600 TAD (" &77) /MAKE IT A 610 TAD (40) /INVERT QUADRANT BIT 620 AND (77) /REMOVE EXCESS 630 TAD (40) /INVERT AGAIN 640 DCA OCTMOVE /SAVE IT FOR NOW 650 TAD OCTMOVE /GET IT BACK 660 TAD (-" !200) /COMPARE TO 670 SZA CLA /SKIP IF IT MATCHES 680 JMP BLBCHOK /JUMP IF NOT 690 TAD CXR2 /GET FLAG 700 SNA CLA /SKIP IF NON- SEEN 710 NL4000 /ELSE SET IGNORE FLAG 720 SKP /DON'T CHANGE FLAG 730 BLBCHOK,ISZ CXR2 /BUMP FLAG 740 TAD OCTMOVE /GET THE CHARACTER 750 DCA I CXR1 /STORE IN MESSAGE 760 JMP I BLBCHAR /RETURN 770 EJECT 780 / MAIN ERROR MESSAGE. 790 800 BLURB, "M&37 / 810 "J&37 / 820 "J&37 / 830 4000 /ERROR GOES HERE 840 4000 /ERROR GOES HERE 850 4000 /ERROR GOES HERE 860 4000 /ERROR GOES HERE 870 4000 /ERROR GOES HERE 880 4000 /ERROR GOES HERE 890 4000 /ERROR GOES HERE 900 4000 /ERROR GOES HERE 910 4000 /ERROR GOES HERE 920 4000 /ERROR GOES HERE 930 4000 /ERROR GOES HERE 940 4000 /ERROR GOES HERE 950 4000 /ERROR GOES HERE 960 4000 /ERROR GOES HERE 970 4000 /ERROR GOES HERE 980 4000 /ERROR GOES HERE 990 4000 /ERROR GOES HERE 1000 4000 /ERROR GOES HERE 1010 ERRBLB, " &177 /ERROR BLURB STARTS HERE 1020 "E&177 1030 "R&177 1040 "R&177 1050 "O&177 1060 "R&177 1070 " &177 1080 "W&177+40 1090 "H&177+40 1100 "I&177+40 1110 "L&177+40 1120 "E&177+40 1130 " &177 1140 FUNBLB, ZBLOCK 4 /WILL BE "READ" OR "WRIT" 1150 "I&177+40 1160 "N&177+40 1170 "G&177+40 1180 " &177 1190 "S&177 1200 "Y&177 1210 "S&177 1220 UNTBLB, .-. /UNIT DIGIT WILL GO HERE 1230 ":&177 1240 BLKBLB, ZBLOCK 4 /BLOCK NUMBER WILL GO HERE 1250 " &177 1260 FTBLB, ZBLOCK 4 /"FROM" OR "INTO" WILL GO HERE 1270 " &177 1280 FLDBLB, .-. /FIELD DIGIT WILL GO HERE 1290 ADDBLB, ZBLOCK 4 /TRANSFER ADDRESS DIGITS WILL GO HERE 1300 EJECT