/ INTERRUPT TEST PROGRAM. / WRITTEN BY KENRICK CHIN, 17TH. MAY 1976. / / THIS PROGRAM TESTS THE INTERRUPT LINE FOR / ANY SPURIOUS ACTIVITY. / .ABS .LOC 1 JMP INTRUP .LOC 100 START IOF EBA CLA JMS LINE LAC MESS3 JMS ASPRT JMS LINE JMS LINE CAF ION NOP JMP .-1 HLT MESS3 MESS3+1 .SIXBT " INTERRUPT TEST PROGRAM@" INTRUP DZM SWITCH LAC (700101 DAC EXEC EXEC NOP SKP JMS GOTYA LAC EXEC CMA!IAC TAD (707761 SPA!SNA JMP DONE CONT LAC EXEC /ALL NOT DONE TAD (20 DAC EXEC SAD (703301 JMP CONT SAD (703341 JMP CONT SAD (707741 JMP CONT SAD (707761 JMP DONE JMP EXEC DONE JMS TEST /TEST IF INTERRUPT FOUND JMS LINE CLA KRB AND (177 SAD (3 JMP 17720 CAF ION JMP* 0 /RETURN FROM INTERRUPT SWITCH 0 / / /TEST IF DEVICE FOUND TEST LAC SWITCH SZA JMP* TEST /AT LEAST ONE FOUND LAC MESS2 JMS ASPRT JMS LINE JMP* TEST MESS2 MESS2+1 .SIXBT " DEVICE NOT FOUND@" /ONE INTERRUPT FOUND GOTYA 0 CLA!IAC DAC SWITCH LAC MESS1 JMS ASPRT LAC EXEC JMS OCT6 JMS LINE JMP* GOTYA MESS1 MESS1+1 .SIXBT " INTERRUPT DEVICE WITH SKP CODE : @" CR 215 LF 212 SLASH 251 LINE 0 LAC CR JMS TYPE LAC LF JMS TYPE JMP* LINE /SIX OCTAL DIGIT PRINT SUBROUTINE OCT6 0 DAC OCTS /SAVE DATA LAC (240 JMS TYPE LAC OCTS /GET DATA AND (700000 CLL!RTL RTL TAD (260 JMS TYPE LAC OCTS /GET 2ND DIGIT SWHA AND (70 CLL!RAR RTR TAD (260 JMS TYPE LAC OCTS /GET 3RD DIGIT SWHA AND (7 TAD (260 JMS TYPE LAC OCTS /GET 4TH DIGIT SWHA AND (700000 CLL!RTL RTL TAD (260 JMS TYPE LAC OCTS /GET 5TH DIGIT AND (70 CLL!RAR RTR TAD (260 JMS TYPE LAC OCTS /GET 6TH DIGIT AND (7 TAD (260 JMS TYPE JMP* OCT6 OCTS 0 / / /ASCII PRINT FROM SIXBT PACKED WORD. /THREE 6-BIT ASCII CHARACTERS ARE PACKED INTO ONE /WORD BY THE PSEUDO-OP .SIXBT /THE MESSAGE IS ENDED BY "@". ASPRT 0 DAC SAVE9 ASPRT1 LAC* SAVE9 /GET PACKED WORD. RAR /ROTATE RIGHT 3 BITS RTR SWHA DAC SAVE11 AND MASK5 /MASK5 = 77 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 LAC SAVE11 /GET MIDDLE CHARACTER RAR RTR SWHA AND MASK5 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 LAC* SAVE9 /GET THIRD CHARACTER AND MASK5 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 ISZ SAVE9 /GET NEXT WORD JMP ASPRT1 SAVE9 0 SAVE11 0 SAVE12 0 MASK5 77 MASK6 40 B100 100 ASPRT2 0 DAC SAVE12 AND MASK6 /MASK6 =40 SNA!CLA /NUMBERS 40 TO 77, DO NOTHING. LAC B100 /NUMBERS 00 TO 37, ADD 100. TAD SAVE12 JMS TYPE JMP* ASPRT2 TYPE 0 IOF TLS TSF JMP .-1 TCF JMP* TYPE TSF=700401 TLS=700406 TCF=700402 KRB=700312 .END START