/OCTAL DEBUGGING PROGRAM -JAMES ROTHMAN 6/15/67 TLS END, JMS I CRLF JMS I READ /READ A NUMBER JMS I TYPE TAD N14 /RESET CONSTANTS DCA CNT TAD RTABA DCA TABA TAD RTABB DCA TABB LOOP1, TAD I TABB DCA CHECK KRS TAD I TABA /IDENTIFY REQUEST SNA CLA JMP I CHECK /ENTER REQUESTED ROUTINE ISZ TABA ISZ TABB ISZ CNT JMP LOOP1 JMP END+1 /CAN'T IDENTIFY-READ AGAIN O, JMS I OCTRD /OPEN INSTRUCTION DCA CURLOC TAD I CURLOC JMS OCTPNT /TYPE CONTENTS JMP END II, JMS I OCTRD /INSERT INSTRUCTION DCA I CURLOC ISZ CURLOC JMP END N, ISZ CURLOC /NEXT REGISTER REQUESTED TAD CURLOC JMS OCTPNT JMP II-3 D, JMS I OCTRD /OCTAL DUMP REQUESTED DCA INIT /RECORD FIRST AND LAST JMS I OCTRD /OF REQUESTED REGISTERS CIA DCA FIN LOOP2, JMS I CRLF TAD INIT JMS OCTPNT TAD HYPH JMS I TYPE TAD N4 DCA CNT LOOP3, TAD I INIT /OUTPUT 4 SEQUENTIAL REGISTER JMS OCTPNT TAD INIT /FINISHED? TAD FIN SNA CLA JMP END ISZ INIT ISZ CNT JMP LOOP3 JMP LOOP2 S, JMS I OCTRD /START REQUESTED DCA LOCJMP JMS I CRLF GO, HLT JMP I LOCJMP R, JMS I OCTRD /RUN WITH PRESET AC DCA LOCJMP /AND LINK REQUESTED JMS I CRLF TAD LINK CLL RAR TAD AC JMP GO OCTPNT, 0 /OCTAL PRINT SUB-ROUTINE DCA TEMP4 TAD R240 JMS I TYPE TAD N4 DCA TEMP3 LOOP6, TAD TEMP4 CLL RAL RTL DCA TEMP4 TAD TEMP4 RAL AND M7 TAD R260 JMS I TYPE ISZ TEMP3 JMP LOOP6 JMP I OCTPNT J, JMP I M6000 /JUMP TO SINGLE-STEPPER A, TAD AC /AC REFERENCED JMS CHECK DCA AC /RE-INSERT AC JMP END L, TAD LINK /LINK REFERENCED JMS CHECK DCA LINK /RE-INSERT LINK JMP END CHECK, 0 /CHECK FOR INSERT REQUEST JMS OCTPNT JMS I CRLF JMS I READ JMS I TYPE KRS TAD N311 SZA CLA JMP END+3 /CONTINUE AS USUAL JMS I OCTRD JMP I CHECK CRLF, LF /CONSTANTS AND VARIABLES READ, RD TYPE, TYP N14, -14 M7, 7 CNT, 0 RTABA, LETTER TABA, LETTER RTABB, LOCS TABB, LOCS OCTRD, RDOCT CURLOC, 0 HYPH, 255 N4, -4 LINK, 0 AC, 0 TEMP3, 0 TEMP4, 0 R240, 240 R260, 260 M6000, 6000 LETTER, -311;-317;-316;-302;-301;-314;-304 -323;-322;-303;-312;-320 P, DCA CHK /MEMORY PUNCH REQUESTED HLT LAS AND M1 SZA CLA TAD HTYPE TAD TYPE2 DCA LOCPNT TAD LOCPNT DCA I LDRCAL HLT LAS CIA DCA CNT2 JMS I LEADER LOOP4, HLT /RECORD FIRST AND LAST REGISTERS LAS DCA INIT2 HLT LAS DCA FIN2 TAD M177 DCA M77 STL TAD INIT2 JMS PRINT TAD R77 DCA M77 LOOP5, TAD I INIT2 JMS PRINT TAD INIT2 CIA TAD FIN2 SNA CLA JMP DONE ISZ INIT2 JMP LOOP5 DONE, ISZ CNT2 JMP LOOP4 TAD CHK JMS PRINT JMS I LEADER JMP I ENDIT PRINT, 0 /BINARY FORMAT PRINT DCA TEMP1 TAD TEMP1 RTR;RTR;RTR AND M77 JMS SUM JMS I LOCPNT TAD TEMP1 AND R77 JMS SUM JMS I LOCPNT JMP I PRINT SUM, 0 DCA TEMP2 TAD TEMP2 TAD CHK DCA CHK TAD TEMP2 JMP I SUM RDOCT, 0 /OCTAL READ SUB-ROUTINE TAD M240 JMS I TYPE2 DCA TEMP2 TAD MN4 DCA TEMP1 BACK, JMS I READ2 JMS I TYPE2 KRS TAD N375 SNA CLA JMP TERM KRS AND M270 TAD N260 SZA CLA JMP BACK TAD TEMP2 CLL RAL RTL DCA TEMP2 KRS TAD N260 TAD TEMP2 DCA TEMP2 ISZ TEMP1 JMP BACK TERM, TAD TEMP2 JMP I RDOCT CHK, 0 /CONSTANTS AND VARIABLES CNT2, 0 LEADER, LDR INIT2, 0 FIN2, 0 M177, 177 M77, 77 R77, 77 HTYPE, HITYPE-TYP ENDIT, END TEMP1, 0 TEMP2, 0 M240, 240 TYPE2, TYP MN4, -4 READ2, RD N375, -375 M270, 270 N260, -260 LOCPNT, 0 LDRCAL, JMSLOC M1, 1 ADDR, 0;0;0;0;0;0;0 B, JMS RESET TAD BRPNTR DCA 2 JMS FIND JMS I RDOCT2 DCA I TABC TAD I TABC DCA TEMP5 TAD I TEMP5 DCA I TABD TAD BRINST DCA I TEMP5 JMP I END2 PNTHIT, 0 /FOUND BREAK-POINT DCA I ACC RAL DCA I LINK2 STA TAD PNTHIT DCA PNTHIT JMP I END2 C, JMS RESET TAD PNTHIT CIA JMS FIND TAD I TABD DCA I PNTHIT DCA I TABC TAD PNTHIT JMP I RPLUS1 RESET, 0 TAD RTABC DCA TABC TAD RTABD DCA TABD TAD RN4 DCA CNT4 JMP I RESET FIND, 0 DCA RESET TAD RESET TAD I TABC SNA CLA JMP I FIND ISZ TABC ISZ TABD ISZ CNT4 JMP .-7 HLT LF, 0 TAD M215 JMS TYP TAD M212 JMS TYP JMP I LF RD, 0 KSF JMP .-1 KRB JMP I RD TYP, 0 TSF JMP .-1 TLS CLA CLL JMP I TYP HITYPE, 0 PSF JMP .-1 PLS CLA CLL JMP I HITYPE LDR, 0 TAD N75 DCA LEADCT TAD M200 JMS I JMSLOC ISZ LEADCT JMP .-3 JMP I LDR RTABC, ADDR TABC, ADDR RTABD, INST TABD, INST RDOCT2, RDOCT CNT4, 0 TEMP5, 0 BRINST, JMS I 2 END2, END ACC, AC LINK2, LINK RPLUS1, R+1 RN4, -7 M215, 215 M212, 212 N75, -144 M200, 200 JMSLOC, 0 LEADCT, 0 BRPNTR, PNTHIT LOCS, II;O;N;B;A;L;D;S;R;C;J;P INST, 0;0;0;0;0;0;0 FIN=TABB INIT=TABA LOCJMP=TABA N311=LETTER $