/ DSKLK / UNLIST POP-B DEFINITIONS 6/1/67 I30 CARDS) / DISKLDOK - UTILITY PROGRAM TO EXAMINE AND ALTER 32K DF32 DISK / BY H.S. HDLFBERG MONITOR=7600 L7750=7750 L7751=7751 DEAL=6615 /DISK IOT‘S DFSE=6621 DFSC=6622 *200 C300, CLA CLL /USED TLS /FORCE FLAG ON RIF TAD L6201 /CDF DCA CDFI TAD CDFI DCA I PDISK1 CDFI, .-. /SET D.F. T0 I.F. CR1, KCC JMS CRLF TAD LOOK1 /'SZA CLA' DCA I PSLSH3 /SET SWITCH CR2, DCA OREG /NO OPEN REGISTER DCA TYO /NO EXPRESSION YET DCA BLOCKH /INITIALIZE BLOCK NUMBER DOT1, DCA BLOCKL DCA EXPRH /CLEAR EXPRESSION LISTEN, DCA EXPRL /UPDATE EXPRESSION KSF /READ JMP .-1 KRB DCA CHARAC /SAVE CHAR TAD CTABLE /TABLE-1 DCA PNTR /POINTER T0 DISPATCH TABLE LOOK, ISZ PNTR /INDEX POINTER TAD I PNTR /GET ENTRY SPA /END TEST JMP DIGIT /YES. CHECK FOR DIGIT CIA STL TAD CHARAC /ADD BACK CHARACTER ISZ PNTR /INDEX POINTER LOOK1, SZA CLA /MATCH, USED JMP LOOK /NO TAD TYO /LINK NON CLEARED SNA CLA /ANY EXPRESSION YET STL /NO TAD PNTR TAD MTABLE /-TABLE1 SPA CLA /SHOULD CHAR. BE ECHDED JMP .+4 /NO CML /PRESERVE LINK TAD CHARAC JMS TYO /ECHO CHARACTER TAD I PNTR DCA PNTR /SET UP DISPAYCH ADDRESS TAD EXPRL JMP I PNTR /DISPATCH DIGIT, KRB /READ CHAR. AGAIN TAD M270 SMA JMP ERROR TAD L0010 M270, SPA JMP ERROR /NOT OCTAL DIGIT DCA PNTR /SAVE DIGIT TAD CHARAC JMS TYO /ECHO DIGIT TAD EXPRL RTL RTL AND L0007 DCA EXPRH /SAVE HIGH ORDER DIGIT TAD EXPRL CLL RAL CLL RAL CLL RAL TAD PNTR /ADD IN NEH DIGIT JMP LISTEN /GO UPDATE EXPRESSION /DISP, MACRO A,B / OCT A / PZE B / ENDM DISP TABLE, 203;CTRLC CLF, 212;LF CCR, 215;CR TABLE1, /ABOVE CHARS. ARE NOT ECHOED 256;DOT 257;SLASH 274;LESS 276;GREAT 314;LLIMST 315;MASKST 325;ULIMST ERROR, CLA CMA /USED, MINUS AS END OF TABLE TAD C300 JMS TYO /TYPE QUES. MARK JMP CR1 CRLF, .-. /TYPE CR,LF TAD CCR JMS TYO TAD CLF JMS TYO JMP I CRLF TYO, .-. /TYPE CHARACTER SNA TAD ERROR /SPACE TSF JMP .-1 TLS CLA JMP I TYO /LINKS /LITORG /LITERALS L0007, 7 L0010, 10 L6201, 6201 CTABLE, TABLE-1 MTABLE, -TABLE1 OREG, .-. /REGISTER OPEN IF -1 EXPRL, .-. /EXPRESSION [LOW 12 BITS) EXPRH, .-. /EXPRESSION (HIGH 3 BITS) BLOCKL, .-. /BLOCK NUMBER (LOW 12 BITS) BLOCKH, .-. /BLOCK NUMBER (HIGH THREE BITS) PNTR= CRLF /TEMP CHARAC= CDFI /TEMP PDISK1, DISK1 PSLSH3, SLASH3 PAGE CR, JMS I PSTORE JMP I PCR1 GREAT, SKP CLA LESS, SKP CLA TAD L010 /MAKES 'SNA CLA' TAD SEAR7 /SZA CLA DCA SEAR2 /SET UP SKIP DCA SLASH3 /RESET SWITCH DCA I POREG /MAKE REGISTER NOT OPEN TAD I PEXPRL AND MASK CIA DCA TEMP /SAVE FOR MATCHING TAD LOWL DCA PTL TAD LOWH DCA PTH SEAR1, JMS I PDISK /FETCH ONE WORD TAD I PEXPRL AND MASK TAD TEMP /MINUS MASKED EXPRESSION SEAR2, .-. /TEST FOR MATCH JMP LF1 SEAR4, TAD PTL CIA TAD HIGHL SNA CLA /END TEST JMP SEAR6 SEAR5, ISZ PTL /INDEX LOCATION SKP ISZ PTH KSF JMP SEAR1 JMP I PCR1 /USER STOPPED SEARCH SEAR6, TAD PTH CIA TAD HIGHH SEAR7, SZA CLA /END TEST, USED JMP SEAR5 JMP I PCR1 LF, JMS I PSTORE ISZ LOCL SKP ISZ LOCH TAD LOCL DCA PTL TAD LOCH DCA PTH LF1, JMS I PCRLF TAD PTH JMS I PTYDIG TAD PTL JMS I POCPT TAD L0257 JMS I PTYO /TYPE SLASH JMP SLASH1 SLASH, JMS I PEVLE DCA PTL TAD I PEXPRH DCA PTH TAD I POREG SPA CLA /IS REGISTER ALREADY OPEN JMP SLASH2 /YES SLASH1, TAD PTL DCA LOCL TAD PTH DCA LOCH SLASH2, JMS I PTYO /TYPE SPACE JMS I PDISK /FETCH ONE WORD TAD I PEXPRL JMS I POCPT /TYPE CONTENTS SLASH3, .-. /'SZA CLA' OR '0' JMP SEAR4 JMS I PTYO /TYPE SPACE CLA CMA JMP I PCR2 MASKST, DCA MASK /MASK SET JMP I PCR1 LLIMST, JMS I PEVLE DCA LOWL TAD I PEXPRH DCA LOWH JMP I PCR1 ULIMST, JMS I PEVLE DCA HIGHL TAD I PEXPRH DCA HIGHH JMP I PCR1 /LINKS /LITORG /LITERALS L010, 10 L0257, 257 LOCL, 0 /CURRENT LOCATION (LOW ORDER )2 eIIS) LOCH, 0 /CURRENT LOCATION (HIGH ORDER 3 BIIS) MASK, 7777 /MATCHING MASK LOWL, 0 /LOW LIMIT (LOW) LOWH, 0 /LOW LIMIT (HIGH) HIGHL, 7777 /HIGH LIMIT (LOW) HIGHH, 7 /HIGH LIMIT (HIGH) PTL, .-. /POINT 0F EXAMINATION (LOW) PTH, .-. /POINT (HIGH) TEMP, .-. /TEMP PSTORE, STORE PCR1, CR1 POREG, OREG PEXPRL, EXPRL PDISK, DISK PCRLF, CRLF PTYDIG, TYDIG POCPT, OCPT PTYO, TYO PEVLE, EVLE PEXPRH, EXPRH PCR2, CR2 PAGE TYDIG, .-. /TYPE DIGIT AND L07 TAD L0260 JMS I QTYO JMP I TYDIG OCPT, .-. /OCTAL PRINT FOUR DIGITS CLL RAL DCA OCPTNM /KEEP NUMBER TAD LN4 DCA OCPTCT /DIGIT COUNT OCPT1, TAD OCPTNM RTL RAL DCA OCPTNM TAD OCPTNM JMS TYDIG ISZ OCPTCT JMP OCPT1 JMP I OCPT CTRLC, CLA CLL CIF CDF /I.F AND D.F = 0 JMP I QMONIT EVLE, .-. /EVALUATE EXPRESSION SZL /EXPRESSION MUST BE TYPED JMP I QERROR TAD I QBLCKL DCA I QEXPRL GLK TAD I QBLCKH TAD I QEXPRH AND L07 DCA I QEXPRH TAD I QEXPRL JMP I EVLE DOT, CLL RTR /EXPECT LESS THAN 400. RTR /129*X+1 RAR DCA I QBLCKH TAD I QBLCKH AND L7400 RAR TAD I QEXPRL IAC SZL ISZ I QBLCKH JMP I QDOT1 DISK, .-. /COMMON SUBR. FOR STORE (AC=2) OR FETCH (AC=0) TAD L6603 DCA DISK2 TAD I QPTH AND L07 CLL RTL RTL RTL RIF DEAL /SET EXTEND BITS CDF 0 CLA CMA DCA I QL7750 /WC TAD CEXPRL DCA I QL7751 /ADDR DISK1, CDF .-. TAD I QPTL DISK2, .-. /DMAR OR DMAW DFSE JMP DISKE /ERROR DFSC JMP .-3 JMP I DISK DISKE, TAD L0304 /'DE' JMS I QTYO TAD L0305 JMS I QTYO JMP I QCR1 STORE, .-. DCA I QEXPRL SNL /ANYTHING TYPED ISZ I QOREG /IS A REGISTER OPEN JMP I STORE /NO OR NO STL RTL /AC = 2 JMS DISK /WRITE EXPRL JMP I STORE /LINKS /LITORG /LITERALS LN4, -4 L07, 7 L0260, 260 L0304, 304 L0305, 305 L6603, 6603 L7400, 7400 OCPTNM, .-. /TEMP FOR OCPT OCPTCT, .-. /TEMP FOR OCPT CEXPRL, EXPRL-1 QTYO, TYO QMONIT, MONITO QERROR, ERROR QBLCKL, BLOCKL QEXPRL, EXPRL QBLCKH, BLOCKH QEXPRH, EXPRH QDOT1, DOT1 QPTH, PTH QL7750, L7750 QL7751, L7751 QPTL, PTL QCR1, CR1 QOREG= CEXPRL $