*20 /TITLE: DAN 5. THIS PROGRAM ACCEPTS /TTY OCTAL INPUT OF ANY CORE LOCATION /AND UPON RECEIVING EITHER FOUR /OCTAL DIGITS OR A SLASH, PRINTS OUT /IN OCTAL THE CONTENTS OF THAT /ADDRESS. THIS COMPLETES ASSIGNMENT /NUMBER FIVE. PDP /BEGIN IN LINK PMODE /MODE FOR *20 JMP I P200 /START,THEN 8 P200, 0200 /GO 200. PMODE *200 START, CLA CLL TAD H /H=BEGINNING DCA G /ADDRESS OF THE DCA A /FIRST POSITION DCA B /OF "NON OCTAL TAD N4A /INPUT COMMENT". DCA N4B /A&B ARE TEMP TLS /STORAGE REGS, JMS CRLF /N4A&B ARE INDEX IN, JMS LISN /NUMBERS AND=-4. TAD NSL /TTY IN, SLASH? SNA /YES=GO OUTPUT JMP OUT /CONTENTS OF B. TAD SL /NO=STORE ASCII DCA A /AND CHECK FOR TAD A /NON OCTAL CHAR AND M70 /LOOK AT BITS6-8 TAD N60 /6?(110) SZA /NO=PRINT OUT JMP DMY /DUMMY COMMENT. TAD A /YES=LOOK AT A AND M7 /AND CONVERT TO CLL /OCTAL,STORE A DCA A TAD B /ROTATE B LEFT RAL /THREE AND ADD RTL /A. TAD A DCA B /STORE IN B. ISZ N4B /4 NUMBERS IN? JMP IN /YES=JUMP OUT. JMP SLA /NO=GET MORE IN. OUT, TAD N4A DCA N4B /RESET INDEX TAD I B /GET CONTENTS OF CLL /B REGISTER. RAL /ROTATE ONCE. DCA A MORE, TAD A RAL /ROTATE THRICE RTL DCA A TAD A AND M7 /MASK OFF BITS TAD P260 /0-8.ADD 260. JMS TYPE /TYPE NUMBER. ISZ N4B /TYPED FOUR? JMP MORE /NO=GET MORE. JMP START /YES=GO BACK TO NSL, 7521 /THE BEGINNING. SL, 0257 /SL=ASCII SLASH. N4A, 7774 /NSL=8S COMP N4B, 7774 /N4A&B=-4 M7, 0007 /MASK 0-8 BITS P260, 0260 /CONVERT TO ASCI A, 0000 B, 0000 M70, 0070 /LEAV 6-8 BITS N60, 7720 LISN, 0 KSF /SUBROUTINE TO JMP .-1 /ACCEPT TTY IN KRB /PUT. TLS JMP I LISN TYPE, 0 TSF /SUBROUTINE TO JMP .-1 /TYPE OUTPUT. TLS CLA /DONT CLEAR LINK JMP I TYPE /!!!!!!!!!!!!!! CRLF, 0 TAD K215 /SUBROUTINE TO JMS TYPE /CR AND LF TTY. TAD K212 /CR FIRST!!! JMS TYPE JMP I CRLF K215, 0215 /ASCII FOR CR K212, 0212 /ASCII FOR LF DMY, CLA / TAD F /SUBROUTINE TO DCA 10 /TYPE ASCII FIEL DO, TAD I 10 /UPON INPUT ON JMS TYPE /INPUT OF NON- ISZ G /OCTAL NUMBER. JMP DO JMP START /BEGIN ANEW. SLA, TAD SL JMS TYPE /ROUTINE TO TYPE JMP OUT /A SLASH AFTER G, 7724 /INPUT OF FOUR F, 0335 /OCTAL DIGITS. H, 7724 /G=-LENGTH OF 0240 /FIELD.F=ADDRESS 0240 /OF START OF FIE 0310 /LD. H=FIELD IND 0305 /EX. 0331 0240 0304 0325 0315 /HEY DUMMY! 0315 /THATS NOT AN 0331 /OCTAL NUMBER!! 0241 0240 0324 0310 0301 0324 0247 0323 0240 0316 0317 0324 0240 0301 0316 0240 0317 0303 0324 0301 0314 0240 0316 0325 0315 0302 0305 0322 0241 0215 0212 0000 0000 0000 0000 0000 0000 0000 0300 0300 0300 0300 0300 /END!