- GOTO SCREEN begin *>SCREEN begin five&=0 seven&=0 - PUT TEXT AT (1,3): "This program demonstrates the use of i/o" - PUT TEXT AT (1,4): "interrupts using a 1000 series Eason" - PUT TEXT AT (1,5): "operator interface. It will mirror the" - PUT TEXT AT (1,6): "state of bits 0 and 1 on bits 2 and 3." - PUT LARGE TEXT AT (4,1): "I/O INTERRUPT" - SOFTKEY (1) "RUN" GOTO SCREEN runscr - SOFTKEY WAIT *>SCREEN runscr - COMMENT "call lowbits(2) - this specifies an interrupt whenever the I/O bits" - COMMENT "specified in the IO24 statement change" call lowbits(2) ON IO24 GOSUB ioint IO24 "00" - COMMENT "now check for the initial switch position" INP ioin& IF RIGHT$(BIN$(ioin&),2)="00" THEN GOSUB outone IF RIGHT$(BIN$(ioin&),2)="01" THEN GOSUB outtwo IF RIGHT$(BIN$(ioin&),2)="10" THEN GOSUB outthree IF RIGHT$(BIN$(ioin&),2)="11" THEN GOSUB outfour - GOTO SCREEN manual *>SCREEN manual - PUT LARGE TEXT AT (1,1): "MANUAL MODE" - SOFTKEY (6) "EXIT" GOTO SCREEN exitscr CALL CURSOR(0) - SOFTKEY WAIT *>SCREEN setup - PUT LARGE TEXT AT (1,1): "SETUP MODE" - SOFTKEY (6) "EXIT" GOTO SCREEN exitscr CALL CURSOR(0) - SOFTKEY WAIT *>SCREEN autoscr - PUT LARGE TEXT AT (1,1): "AUTO MODE" - SOFTKEY (6) "EXIT" GOTO SCREEN exitscr CALL CURSOR(0) - SOFTKEY WAIT LABEL ioint INP ioin& IF RIGHT$(BIN$(ioin&),2)="00" THEN GOSUB outone IF RIGHT$(BIN$(ioin&),2)="01" THEN GOSUB outtwo IF RIGHT$(BIN$(ioin&),2)="10" THEN GOSUB outthree IF RIGHT$(BIN$(ioin&),2)="11" THEN GOSUB outfour IO24 "00" RETURN LABEL outone OUT "00XX" IO24 "00" RETURN LABEL outtwo OUT "01XX" IO24 "00" RETURN LABEL outthree OUT "10XX" IO24 "00" RETURN LABEL outfour OUT "11XX" IO24 "00" RETURN *>SCREEN exitscr - PUT LARGE TEXT AT (1,1): "THANK YOU FOR USING" - PUT LARGE TEXT AT (8,2): "EASON" - PUT LARGE TEXT AT (5,3): "TECHNOLOGY" pos 1,7 - DELAY 2500 CALL GCLS() - END OF PSEUDOCODE