PORTE EQU $0008 PORTS EQU $00D6 PORTCAN EQU $00FE DDRE EQU $0009 DDRS EQU $00D7 DDRCAN EQU $00FF ORG $080A ;0801 - ALL 1s ;0802 - ALL 0s ;0803 - MAIN LETTER ;0804 - SECONDARY LETTER ;0805 - FIRST SET ;0806 - SECOND SET ;0807 - THIRD SET ;0808 - COUNTER FROM 0 TO 7 ;0809 - N/A FOR BIT 7 FOR CAN MAIN JSR SETUP JSR CRLF JSR ES JSR ECAN JMP FINALCHECK SETUP LDAA #%00000000 STAA DDRS STAA DDRCAN STAA $0802 STAA $0805 STAA $0806 STAA $0807 STAA $0809 LDAA #%11111100 STAA DDRE STAA $0801 RTS ES LDAA #%01000101 STAA $0803 LDAA #%01010011 STAA $0804 LDAA $0801 STAA PORTE LDAB PORTS STAB $0805 JSR EXECUTION LDAA $0805 JMP CHECK ECAN LDAA #%01000011 STAA $0804 LDAA $0801 STAA PORTE LDAB PORTCAN STAB $0806 JSR EXECUTION LDAA $0801 STAA $0809 LDAA $0806 JMP CHECK CHECK CMPA $0801 BEQ ALLONES LDAA $0809 CMPA $0801 BEQ CHECKCAN JSR ERROR JSR CRLF RTS CHECKCAN LDAA $0806 CMPA #%01111100 BEQ ALLONES JSR ERROR JSR CRLF RTS ALLONES JSR OK JSR CRLF RTS EXECUTION JSR PORT LDAA $0803 JSR TRANSMIT JSR TO LDAA $0804 JSR TRANSMIT JSR EQUAL RTS CRLF LDAA #%00001101 JSR TRANSMIT LDAA #%00001010 JSR TRANSMIT RTS TRANSMIT LDAB $00C4 LDAB $00C4 STAA $00C7 COMPLETE LDAA $00C4 ANDA #$40 BEQ COMPLETE RTS EQUAL JSR SPACE LDAA #%00111101 JSR TRANSMIT JSR SPACE RTS OK LDAA #%01001111 JSR TRANSMIT LDAA #%01001011 JSR TRANSMIT RTS ERROR LDAA #%01000010 JSR TRANSMIT LDAA #%01000001 JSR TRANSMIT LDAA #%01000100 JSR TRANSMIT RTS PORT LDAA #%01010000 JSR TRANSMIT LDAA #%01101111 JSR TRANSMIT LDAA #%01110010 JSR TRANSMIT LDAA #%01110100 JSR TRANSMIT JSR SPACE RTS SPACE LDAA #%00100000 JSR TRANSMIT RTS TO JSR SPACE LDAA #%01110100 JSR TRANSMIT LDAA #%01101111 JSR TRANSMIT JSR SPACE RTS BIT LDAA #%01000010 JSR TRANSMIT LDAA #%01101001 JSR TRANSMIT LDAA #%01110100 JSR TRANSMIT JSR SPACE RTS FINALCHECK LDAA $0805 ORAA $0806 ORAA $0807 STAA $0807 CMPA $0801 LBEQ EQUALONE LDAA #%00110000 STAA $0808 JSR CRLF ZEROONE JSR PRINTBIT JSR NA LDAA $0808 INCA STAA $0808 CMPA #%00110010 BLO ZEROONE LDAB $0807 RORB RORB STAB $0807 CONTINUECHECK JSR PRINTBIT LDAA $0808 INCA STAA $0808 LDAB $0807 ANDB #%00000001 BNE PRINTOK JSR ERROR JSR SPACE JSR SPACE CONTINUE LDAA $0808 LDAB $0807 RORB STAB $0807 CMPA #%00111000 BEQ LINE CMPA #%00110100 BEQ NEWLINE JMP CONTINUECHECK PRINTBIT JSR BIT LDAA $0808 JSR TRANSMIT JSR EQUAL RTS PRINTOK JSR OK JSR SPACE JSR SPACE JSR SPACE JMP CONTINUE NEWLINE JSR CRLF JMP CONTINUECHECK NA LDAA #%01001110 JSR TRANSMIT LDAA #%00101111 JSR TRANSMIT LDAA #%01000001 JSR TRANSMIT JSR SPACE JSR SPACE RTS EQUALONE JSR CRLF JSR PORT LDAA #%01000101 ;"E" JSR TRANSMIT JSR EQUAL JSR OK JSR CRLF JSR CRLF JMP DONE LINE JSR CRLF DONE JMP DONE