.include "m8def.inc" .org 0x000 rjmp RESET .org ;; hier ist die Addresse von dem Externen Interrupt 0, im Interrupt-Vektor rjmp ExternInt0 .org ;; hier ist die Addresse von dem Externen Interrupt 1, im Interrupt-Vektor rjmp ExternInt1 RESET: ldi r16, HIGH (RAMEND) out SPH, r16 ldi r16, LOW (RAMEND) out SPL, r16 ldi r16, 0xff out DDRB, r16 ldi r16, 0x00 out DDRD, r16 ;; Hier wird das Bit für Externes Interrupt 0 und 1 gesetzt ;; Hier werden die interrupts global aktiviert end: rjmp end ExternInt0: ldi r16, 0xff out PORTB, r16 reti ExternInt1: ldi r16, 0x00 out PORTB, r16 reti
so ist richtig
.include "m8def.inc" .org 0x000 rjmp RESET .org INT0addr ;; hier ist die Addresse von dem Externen Interrupt 0, im Interrupt-Vektor rjmp ExternInt0 .org INT1addr ;; hier ist die Addresse von dem Externen Interrupt 1, im Interrupt-Vektor rjmp ExternInt1 RESET: ldi r16, HIGH (RAMEND) out SPH, r16 ldi r16, LOW (RAMEND) out SPL, r16 ldi r16, 0xff out DDRB, r16 ldi r16, 0x00 out DDRD, r16 ldi r16, (1 << ISC01) | (1 << ISC11) out MCUCR, r16 ldi r16, (1 << INT0) | (1 << INT1) out GICR, r16 ;; Hier wird das Bit für Externes Interrupt 0 und 1 gesetzt ;; Hier werden die interrupts global aktiviert sei end: rjmp end ExternInt0: ldi r16, 0xff out PORTB, r16 reti ExternInt1: ldi r16, 0x00 out PORTB, r16 reti