/DIAGNOSE ROUTINE, SOURCE TAPE III *ORIGIN+200 EMPTP, EMPTY GOFLOP, GOFLO N4407, -4407 WRITER, WRITEO FILLP, FILL LINK, 0 ACCU, 0 MQUO, 0 ADDR, 0 INST, 0 EXITP, EXIT ALTADD, ALTERN KEEPP, KEEP P7770, 7770 P200, 200 MRAD, 0 PREV, 0 POST, 0 FIND, 0 /SUBROUTINE TO FIND CLA CMA /THE EFFECTIVE MEMORY /REFERENCE ADDRESS FOR EVENTUAL /STORAGE IN LOCATION 'MRAD' TAD P200 /0177 AND INST DCA MRAD /LINE # TAD P200 AND INST /PAGE ZERO? SNA CLA JMP .+6 /YES TAD P200 /NO CIA /7600 AND ADDR /PAGE # TAD MRAD DCA MRAD /PAGE # + LINE # = ADDRESS TAD P200 TAD P200 /0400 AND INST /INDIRECT? SNA CLA JMP I FIND /NO, DIRECT TAD I MRAD /YES. SHOULD MRAD BE AN AUTOINDEX, /THIS INSTRUCTION WILL INCREMENT ITS /CONTENTS GIVING THE ACTUAL EFFECTIVE /ADDRESS. THE AUTOINDEX IS NEVER /INDIRECTLY ADDRESSED HEREAFTER. DCA MRAD JMP I FIND CODE05, JMS I WRITER NO93 /"=" JMS FIND TAD I MRAD DCA PREV TAD INST /NOW START TO DECODE C(INST) RAL SZL JMP CODE45 /CODES 4 & 5 RAL /CODES 0 THROUGH 3 SZL JMP AHEAD+6 /CODES 2 & 3 SPA CLA /CODES 0 & 1 JMP .+7 /CODE 1 JMS I WRITER /CODE 0 NO20 /AND TAD ACCU AND PREV DCA ACCU JMP AHEAD JMS I WRITER NO21 /TAD JMS I FILLP TAD PREV JMS I EMPTP AHEAD, TAD PREV DCA POST TAD POST DCA I MRAD ISZ ADDR JMP I EXITP SPA CLA JMP CODE3 JMS I WRITER /CODE 2 NO22 /ISZ CLA IAC /+1 TAD PREV SNA CLA /SYNTHETIC ISZ ISZ ADDR CLA IAC JMP AHEAD CODE3, JMS I WRITER NO23 /DCA TAD ACCU DCA POST DCA ACCU JMP AHEAD+2 CODE45, RTL SZL CLA JMP CODE5 CODE4, TAD INST TAD N4407 SNA CLA /IS IT 'JMS I 7'? JMP I GOFLOP /YES JMS I WRITER /NO NO24 /JMS CLA IAC TAD ADDR DCA POST OSR RAR /BIT 11 OF SR INTO L CLA TAD MRAD SZL CLL /SHORTCIRCUIT SUBROUTINE PRINTOUT? JMP SHORT /YES DCA ADDR /NO, PRINT ALL JMP AHEAD+2 CODE5, JMS I WRITER NO25 /JMP TAD PREV DCA POST TAD MRAD DCA ADDR JMP I EXITP SHORT, IAC DCA INST /TEMPORARY USE OF INST TAD ALTADD /PUT 'ALTERN' AS THE FIRST INSTRUCTION - DCA I MRAD / - OF THE SUBROUTINE JMS I WRITER NO91 /(RETURN,FEED,SPACE) DCA I KEEPP /CLEAR 'KEEP' JMS I FILLP JMP I INST /ENTER THE SUBROUTINE *ORIGIN+751 EMPTYS, EMPTY POSTS, POST ADDRS, ADDR MRADS, MRAD ALTERN, ISZ KEEP /NORMAL RETURN ISZ KEEP /ADVANCED RETURN ISZ KEEP /DOUBLY ADVANCED RETURN JMS I EMPTYS /TRIPLY ADVANCED RETURN TAD KEEP /3, 2, 1 OR 0 CMA TAD P4 /0, 1, 2 OR 3 TAD I POSTS DCA I POSTS TAD I POSTS DCA I ADDRS TAD I MRADS DCA KEEP /TEMPOARY USE OF 'KEEP' TO HOLD C(MRAD) TAD I POSTS DCA I KEEP JMS WRITEO NO95 /(RETURN,FEED, 33 SPACES) JMP I .+1 EXIT PAUSE