100 FILNO, JMS I [SCRIBE] /TELL THEM 110 FCTMSG /THE FILE COUNT 120 JMS I [SCRIBE] /TELL THEM 130 FLSMSG /FILES (OR FILE) 140 JMS I [SCRIBE] /TELL THEM 150 CREMSG /CREATION MESSAGE 160 JMP I [SBOOT] /GOODBYE 170 EJECT 180 FCTMSG, TEXT "%^NO^" 190 TRUMSG, TEXT "%^I^NSUFFICIENT ^O^UTPUT ^F^ILES, ^I^NPUT ^T^RUNCATED!%" 200 210 PAGE 220 EJECT 230 NEWBUFF,DCA BUFPTR /CLEAR BUFFER POINTER 240 TAD (N^200^7777) /SETUP THE 250 DCA BUFCNT /BUFFER COUNT 260 BUFLUP, CDF BUFFLD /GOTO BUFFER FIELD 270 TAD I BUFPTR /GET A WORD 280 CDF 00 /BACK TO OUR FIELD 290 JMS DECOUT /OUTPUT IT 300 ISZ BUFPTR /BUMP TO NEXT 310 TAD BUFPTR /GET THE POINTER 320 JMS DIVIDE /DIVIDE BY 330 LINE /LINE COUNT 340 CLA /THROW AWAY QUOTIENT 350 TAD REM /GET REMAINDER 360 SZA CLA /SKIP IF END OF LINE 370 JMP NOTEOL /JUMP IF NOT 380 JMS I (P6CH) /OUTPUT 390 JMP COMMON /KEEP GOING 400 410 NOTEOL,/TAD (" &77) /GET A 420 / JMS I (P6CH) /OUTPUT IT 430 COMMON, ISZ BUFCNT /DONE YET? 440 JMP BUFLUP /NO, KEEP GOING 450 TAD BUFPTR /GET THE POINTER 460 JMS DIVIDE /DIVIDE BY 470 LINE /LINE COUNT 480 CLA /THROW AWAY QUOTIENT 490 TAD REM /GET REMAINDER 500 SZA CLA /SKIP IF ALREADY AT 510 / LINE PADDING MAY BE INSERTED HERE IF NECESSARY. 520 JMS I (P6CH) /OUTPUT NOW 530 NL4000 /SET VALUE 540 JMS I (PFFOUT) /CLOSE THE FILE 550 JMP I [CREPORT] /FINISH IT THERE 560 570 DECOUT, .-. /DECIMAL OUTPUT ROUTINE 580 DCA DECTMP /SAVE PASSED VALUE 590 DCA DECSW /INITIALIZE SWITCH 600 TAD DECTMP /GET IT BACK 610 SPA CLA /SKIP IF POSITIVE 620 JMP DONEG /JUMP IF NOT 630 TAD (" &77) /GET A 640 JMS I (P6CH) /OUTPUT IT 650 TAD DECTMP /GET THE NUMBER 660 JMP DECCOMMON /CONTINUE THERE 670 EJECT 680 DONEG, TAD ("-&77) /GET A MINUS SIGN 690 JMS I (P6CH) /OUTPUT IT 700 TAD DECTMP /GET THE NUMBER 710 CIA /INVERT IT 720 DECCOMM,JMS DIVIDE /DIVIDE BY 730 1750 /1000 740 JMS DIGOUT /PRINT THE QUOTIENT 750 TAD REM /GET THE REMAINDER 760 JMS DIVIDE /DIVIDE BY 770 144 /100 780 JMS DIGOUT /PRINT THE QUOTIENT 790 TAD REM /GET THE REMAINDER 800 JMS DIVIDE /DIVIDE BY 810 12 /10 820 JMS DIGOUT /PRINT THE QUOTIENT 830 ISZ DECSW /FORCE THE SWITCH ON 840 TAD REM /GET THE REMAINDER 850 JMS DIGOUT /PRINT IT 860 TAD (".&77) /GET A "." 870 JMS I (P6CH) /OUTPUT IT 880 TAD (" &77) /GET A 890 JMS I (P6CH) /PRINT IT 900 TAD (" &77) /GET A 910 JMS I (P6CH) /PRINT IT 920 TAD (" &77) /GET A 930 JMS I (P6CH) /PRINT IT 940 TAD (" &77) /GET A 950 JMS I (P6CH) /PRINT IT 960 JMP I DECOUT /RETURN 970 980 DIGOUT, .-. /DIGIT OUTPUT ROUTINE 990 DCA DECTMP /SAVE THE VALUE 1000 CLL /CLEAR THE LINK 1010 TAD DECSW /GET THE SWITCH 1020 SZA CLA /SKIP IF OFF 1030 STL /ELSE SET THE LINK 1040 TAD DECTMP /GET THE DIGIT 1050 SNL /SKIP THE TEST IF SWITCH SET 1060 SZA /SKIP IF ZERO 1070 TAD ("0-" ) /MAKE INTO DIGIT, NOT 1080 TAD (" &77) /GET AT LEAST 1090 JMS I (P6CH) /OUTPUT IT 1100 TAD DECTMP /GET THE VALUE 1110 SZA CLA /SKIP IF ZERO 1120 ISZ DECSW /ELSE SET SWITCH FOR NEXT TIME 1130 JMP I DIGOUT /RETURN 1140 EJECT