* IRQ4.S12 PARPORT1 EQU $0880 PARPORT2 EQU $0881 IrqStat EQU $0D00 ; Status IRQ-sim IrqRes1 EQU $0D02 ; Nollställ event 1 IrqRes2 EQU $0D03 ; Nollställ event 2 ORG $1000 * Nollställ våra variabler CLR Var1 CLR Var2 CLR IrqRes1 CLR IrqRes2 * Initiera avbrottsvektor IRQ LDX #IrqR STX $3FF2 * Sätt om avbrottsmasken hos processorn CLI * I huvudprogrammet skrivs båda variabelvärdena * till olika utportar. * Endast 'Var1' ökas dock för varje varv i slingan Loop LDAB Var1 ADDB #1 STAB Var1 STAB PARPORT1 LDAB Var2 STAB PARPORT2 BRA Loop * Avbrottsrutin IrqR LDAA IrqStat BITA #2 ; Event 2 ? BEQ IrqR1 ; Om inte prova nästa CLR IrqRes2 CLR Var2 ; Nollställ IrqR1 * Kontrollera även Event 1... BITA #1 BEQ IrqR2 CLR IrqRes1 INC Var2 ; Räkna upp IrqR2 RTI * Variabler Var1 RMB 1 Var2 RMB 1