/SPLIT BINARY FILE BY PAGES STM2=7344 STM3=7346 STP2=7305 STP3=7325 STP4=7307 STP6=7327 ST2K=7332 ST4K=7330 ST6K=7333 FIXTAB FIELD 0 *0 OENTRY, 0 IENTRY, 0 INFIL, 0 GETCNT, 0 ZBLOCK 3 OUTFIL, ZBLOCK 5 CHAR1, 0 CHAR2, 0 CHAR3, 0 TENCNT, -12 OLNGTH, 0 STFLAG, -1 ORIGIN, 0 FIELDX, 0 CHKSUM, 0 TEMP, 0 INCHEK, 0 ADDRES, 0 /PACK A BYTE ROUTINE PAKBYT, 0 AND (377 DCA PHOLD TAD PHOLD TAD CHKSUM DCA CHKSUM TAD PHOLD ISZ JMPSWT JMPSWT, HLT-1 JMP PBYTE1 JMP PBYTE2 RTL CLL RTL DCA PHOLD TAD PHOLD AND (7400 TAD I PADDR2 DCA I PADDR2 TAD PHOLD RTL RTL AND (7400 TAD I PADDR1 DCA I PADDR1 TAD (JMP JMPSWT DCA JMPSWT ISZ PADDR1 ISZ PCOUNT JMP I PAKBYT ISZ OBLKCT ISZ OLNGTH SKP JMP CLOSER JMS I OENTRY 4201 WRTBUF WBLOCK, 0 JMP WERROR ISZ WBLOCK JMS SETPAK JMP I PAKBYT /PACK A BYTE CONTINUED PBYTE2, DCA I PADDR1 JMP I PAKBYT PBYTE1, DCA I PADDR1 TAD PADDR1 DCA PADDR2 ISZ PADDR1 JMP I PAKBYT /PACK A BYTE CONTINUED /IINITIALIZE PACKING ROUTINE PHOLD, SETPAK, 0 TAD [-200 DCA PCOUNT TAD WBLOCK-1 DCA PADDR1 TAD (JMP JMPSWT DCA JMPSWT JMP I SETPAK PADDR1, 0 PADDR2, 0 PCOUNT, 0 /CLOSE A FILE OCLOSE, 0 TAD CHKSUM DCA TEMP TAD TEMP RTR RTR RTR AND (77 JMS PAKBYT TAD TEMP AND (77 JMS PAKBYT TAD (-10 DCA INFIL TAD [200 JMS PAKBYT ISZ INFIL JMP .-3 TAD (232 JMS PAKBYT TAD PCOUNT TAD [200 SZA CLA JMP .-4 TAD OUTFIL CIF 10 JMS I [200 4 /CLOSE OUTFIL+1 OBLKCT, 0 JMP CLOSER JMP I OCLOSE /INITIAL START *200 JMP START /ROUTINE TO GET AN INPUT BYTE GETBYT, 0 ISZ RCOUNT JMP RDJMP-1 TAD RDSWIT SZA CLA JMP NOINPT TAD GETCNT CLL TAD (4 SNL DCA GETCNT SZL ISZ RDSWIT CIA TAD (4 CLL RTR RTR RTR DCA GFUNCT JMS I IENTRY GFUNCT, 0 GCORE, INBUF GBLOCK, 0 JMP TSTINP TAD GBLOCK TAD (4 DCA GBLOCK TAD GFUNCT CLL RAL TAD GFUNCT AND [7600 CIA DCA RCOUNT TAD (JMP RDJMP DCA RDJMP TAD GCORE DCA RADDR ISZ RDJMP RDJMP, JMP RDJMP /GET A BYTE CONTINUED JMP GBYTE1 JMP GBYTE2 TAD (JMP RDJMP DCA RDJMP TAD I RADDR AND (7400 RTR CLL RTR TAD GFUNCT RTR RTR ISZ RADDR JMP GBYTE1+1 GBYTE2, TAD I RADDR AND (7400 DCA GFUNCT ISZ RADDR GBYTE1, TAD I RADDR AND [377 TAD (-232 SNA JMP CHEKER TAD (232 JMP I GETBYT RADDR, INBUF RCOUNT, -1 RDSWIT, 0 TSTINP, ISZ RDSWIT SMA CLA JMP GBLOCK+5 JMP INPERR NOINPT, TAD [200 ISZ ESCCNT JMP I GETBYT ISZ ERR CLOSER, ISZ ERR OPENER, ISZ ERR INPERR, ISZ ERR WERROR, CDF 0 CIF 10 JMS I [200 7 ERR, 0 ESCCNT, -10 CHEKER, TAD ERTXT ISZ CHEKER SNA JMP GETDON TLS TSF JMP .-1 JMP CHEKER ERTXT, 215 212-215 377-212 "C-377 "H-"C "E-"H "C-"E "K-"C "S-"K "U-"S "M-"U " -"M "E-" "R-"E 0 "O-"R "R-"O 215-"R 212-215 -212 PAGE /MAIN ROUTINE *2000 SORT, JMS GETONE JMS GETONE TAD CHAR3 AND (300 SZA CLA JMP SPEC DCA STFLAG TAD CHAR3 JMS PAKBYT TAD CHAR2 JMS PAKBYT ISZ ADDRES TAD ADDRES AND (177 SZA CLA JMP SORT TAD CHAR1 AND (300 SZA CLA JMP SORT /CHANGE COMING TAD ADDRES STL RTR RTR RTR DCA CHAR3 DCA CHAR2 JMP FCLOSE SETADR, 0 TAD CHAR3 CLL RTL RTL RTL TAD CHAR2 DCA ADDRES TAD CHAR3 JMS PAKBYT TAD CHAR2 JMS PAKBYT JMP I SETADR /FIELD AND ORIGIN SETTINGS SPEC, TAD CHAR3 TAD [-200 SMA JMP TFIELD AND (76 CIA TAD ORIGIN SZA CLA JMP .+3 SAMFIL, JMS SETADR JMP SORT TAD CHAR3 TAD [-200 AND (76 DCA ORIGIN TAD STFLAG SZA CLA JMP SAMFIL FCLOSE, JMS OCLOSE JMS OOPEN JMP SPEC TFIELD, ISZ STFLAG JMP .+7 DCA FIELDX TAD CHAR3 JMS PAKBYT STA DCA STFLAG JMP SORT+1 CLA JMP FCLOSE /OPEN A FILE OOPEN, 0 ISZ TENCNT JMP SAMTEN TAD (-12 DCA TENCNT TAD OUTFIL+3 AND (7760 TAD (100 DCA OUTFIL+3 SKP SAMTEN, ISZ OUTFIL+3 TAD (OUTFIL+1 DCA OSTART TAD OUTFIL CIF 10 JMS I [200 3 OSTART, OUTFIL+1 OLNG, 0 JMP OPENER TAD OSTART DCA WBLOCK DCA OBLKCT CMA TAD OLNG DCA OLNGTH JMS SETPAK TAD [-10 DCA OLNG TAD [200 JMS PAKBYT ISZ OLNG JMP .-3 STA DCA STFLAG TAD FIELDX TAD [200 JMS PAKBYT JMP I OOPEN PAGE /START BY CALLING CD START, TAD (3000 DCA 7746 CIF 10 JMS I (7700 10 CIF 10 JMS I [200 5 /CALL CD BNEXTN, 216 /BN CDF 10 TAD I [7600 CDF 0 SNA JMP I [7600 CIF 10 JMS I [200 1 OENT, 6601 HLT TAD OENT DCA OENTRY CDF 10 NOP /ISZ I (60 /spec. directory switch TAD 7601 SZA CLA JMP .+5 TAD (2320 /SP DCA 7601 TAD (1424 /LT DCA 7602 TAD I [7600 DCA OUTFIL TAD 7601 DCA OUTFIL+1 TAD 7602 DCA OUTFIL+2 TAD (6060 DCA OUTFIL+3 TAD BNEXTN DCA OUTFIL+4 TAD 7617 DCA INFIL TAD 7620 CDF 0 DCA GBLOCK TAD INFIL /START CONTINUED AND (7760 SNA JMP .+4 TAD (17 RTR STL RTR DCA GETCNT TAD INFIL SNA JMP I [7600 CIF 10 JMS I [200 1 IENT, 7201 HLT TAD IENT DCA IENTRY JMS OOPEN GETST, JMS I [GETBYT DCA CHAR1 TAD CHAR1 SNA JMP GETST TAD [-200 SNA CLA JMP GETST JMP SORT /GET ONE NEW CHARACTER FOR STACK GETONE, 0 TAD CHAR2 DCA CHAR3 TAD CHAR1 DCA CHAR2 JMS I [GETBYT DCA CHAR1 TAD CHAR1 TAD [-200 SNA CLA JMP .+10 TAD CHAR2 TAD [-200 SPA CLA /exclude FIELD TAD CHAR2 TAD INCHEK DCA INCHEK JMP I GETONE TAD CHAR3 CLL RTL RTL RTL TAD CHAR2 TAD CHAR3 /in INCHEK CIA TAD INCHEK SZA CLA JMP CHEKER GETDON, CDF 10 NOP /DCA I (60 /spec. dir. switch CDF 0 JMS OCLOSE JMP I [7600 PAGE WRTBUF=2600 INBUF=3200 $