/ PROGRAM: DUMPTT.PA / CREATED: 4-NOV-75 / MODIFIED: 2-NOV-78 / / CLARKE M. WALKER / DAVIDSON LABORATORY / CASTLE POINT STATION / HOBOKEN, NJ 07030 / / PROGRAM OUTPUTS MEMORY CONTENTS FROM ANY AREA OF MEMORY / TO THE CONSOLE TERMINAL (03,04). / /DEFINE CHARACTERS IN 8-BIT FORMAT SPACE= 240 CR= 215 LF= 212 CTRLC= 203 CTRLG= 207 *200 START, CLL CLA /(ALSO RESTART LOCATION.) JMS CRLF GTFLD, JMS CRLF TAD ("# /TYPE # JMS TYPE JMS READ /READ FIELD JMP GTFLD /INPUT ERROR; TRY AGAIN. TAD CHAR /GET CHAR ENTERED. TAD (0060 /MAKE ASCII. DCA FLDIN /SAVE FOR LATER OUTPUT. TAD CHAR CLL RTL /CLEAR LINK AND ROTATE TWICE. RAL TAD (6201 DCA DCDF /STORE FIELD INST. TO DUMP FIRST, JMS CRLF /GET FIRST LOCATION TO DUMP TAD ("F /TYPE F JMS TYPE TAD (": /TYPE : JMS TYPE JMS DIG4 /READ FOUR OCTAL DIGITS JMP FIRST /INPUT ERROR; TRY AGAIN. DCA FLOC /STORE AS STARTING LOCATION LAST, JMS CRLF /GET LAST LOCATION TO DUMP TAD ("L /TYPE L JMS TYPE TAD (": /TYPE : JMS TYPE JMS DIG4 /READ FOUR OCTAL DIGITS JMP LAST /INPUT ERROR; TRY AGAIN. CMA /COMPUTE # OF WORDS TO TAD FLOC / BE TYPED. DCA WCNT /SAVE AS WORD COUNT LEFT. DUMP, CLL CLA TAD (6201 /62N1 = CDF N RIF /READ INST. FLD. DCA CFLD /SAVE CURRENT FLD. JMS CRLF NEXT, JMS CRLF TAD (SPACE /PRINT A SPACE. JMS TYPE TAD FLDIN /OUTPUT FIELD NUMBER. JMS TYPE TAD ADDR JMS P4DIG TAD (": /TYPE COLON JMS TYPE GO, TAD (SPACE /LEADING SPACE. JMS TYPE DCDF, 6201 /DUMP FLD. DEFAULTS TO 00 TAD I ADDR /GET CONTENTS OF LOCATION CFLD, 6271 /MODIFIED (PROG. FLD.) JMS P4DIG /PRINT CONTENTS ISZ ADDR /INC ADDRESS JMP .+2 JMP START /END OF FIELD, RESTART PROG. ISZ WCNT /UPDATE WORDS COUNT TO GO. JMP .+2 /MORE TO OUTPUT. JMP START /DONE. RESTART PROG. TAD ADDR /CHECK CURRENT POSITION. AND (0077 SNA CLA /PAGE BOUNDARY? JMS CRLF /YES TYPE TAD ADDR AND (0007 SNA CLA /END OF A LINE? JMP NEXT KSF /WAS ANYTHING TYPED? JMP GO /NO CONTINUE KRB /YES, READ IT DCA CHAR /SAVE IT. JMS ERROR /CHECK IT OUT. JMP GO /NOT FATAL. ADDR, FLOC, 0 /FIRST LOACATION TO DUMP. WCNT, 0 /COUNT OF WORDS TO DUMP. FLDIN, 0 /FIELD TO DUMP IN ASCII. PAGE READ, 0 /ONLY ACCEPTS ASCII NUMERICS. KSF /WAIT FOR SOMETHING TO JMP .-1 / BE TYPED. KRB DCA CHAR /SAVE CHAR. TAD CHAR JMS TYPE /ECHO TAD CHAR /CHECK IT OUT AND (0100) /ASSUME 7-BIT INPUT SZA CLA JMP CKERR /WAS A LETTER TAD CHAR AND (0070) /ASSUME 7-BIT TAD (-60) SZA CLA JMP CKERR /WAS NON-NUMERIC TAD CHAR /MAKE IT PURE NUMERIC AND (0007) DCA CHAR ISZ READ /SKIP OVER ERROR RETURN. JMP I READ CKERR, JMS ERROR JMP I READ CHAR, 0 /CHARACTER FROM KEYBOARD. TYPE, 0 /TYPE CHAR. IN AC TLS /OUTPUT CHARACTER. TSF /WAIT TILL DEVICE IS FINISHED. JMP .-1 CLA JMP I TYPE DIG4, 0 JMS READ /FIRST DIGIT JMP I DIG4 /INPUT ERROR. TAD CHAR DCA LOC JMS ROTL JMS READ /SECOND DIGIT JMP I DIG4 /INPUT ERROR. TAD CHAR TAD LOC DCA LOC JMS ROTL JMS READ /THIRD DIGIT JMP I DIG4 /INPUT ERROR. TAD CHAR TAD LOC DCA LOC JMS ROTL JMS READ /FOURTH DIGIT JMP I DIG4 /INPUT ERROR. TAD CHAR TAD LOC ISZ DIG4 /SKIP OVER ERROR RETURN. JMP I DIG4 /LEAVE VALUE IN AC. LOC, 0 /OCTAL LOCATION ENTERED. ROTL, 0 /ROTATE THREE BITS TAD LOC CLL RAL /CLEAR LINK AND ROTATE AC RTL /ROTATE AC TWICE DCA LOC CLL JMP I ROTL P4DIG, 0 /AC CONTAINS DIGITS TO PRINT. JMS PRDIG /FIRST DIGIT JMS PRDIG /SECOND DIGIT JMS PRDIG /THIRD DIGIT JMS PRDIG /FOURTH DIGIT CLL CLA JMP I P4DIG PRDIG, 0 /PRINT DIGIT. CLL RTL /GET ONE DIGIT IN AC. RTL MQL /PUT IN MQ, CLEAR AC. MQA AND (0007 /GET THAT DIGIT ALONE. TAD (0060 /MAKE IT ASCII. JMS TYPE CLA SWP /GET REST BACK. RAR /GET "LOST" BIT BACK. JMP I PRDIG /LEAVE IN AC. CRLF, 0 TAD (CR JMS TYPE TAD (LF JMS TYPE JMP I CRLF ERROR, 0 /CHECK INPUT CHAR AGAINST CONTROL TAD CHAR / CHARACTERS. TAD (-CTRLG) SNA CLA JMP START /CTRL-G TYPED, RESTART PROG. TAD CHAR TAD (-CTRLC) SNA CLA JMP EXIT /CTRL-C TYPED /ANY OTHER SPECIAL CHARACTER TESTS CAN GO HERE TAD ("? /TYPE ?, RETURN JMS TYPE JMP I ERROR EXIT, TAD ("^ /UPARROW TYPED JMS TYPE TAD ("C /TYPE C JMS TYPE CIF CDF 00 /CHANGE TO FIELD ZERO JMP I P7605 /EXIT TO MONITOR P7605, 7605 /MONITOR AREA (NO SYS SWAP). PAGE $$$$$$$$$$$$$$$$$$$$$$$/END/$$$$$$$$$$$$$$$$$$$$$$$$