ich starte mal diesen Thread wieder, da ich zu der Interrupttabelle auch eine Frage habe.
Sobald ich nach rjmp reset ein reti stehen habe, funktioniert kein Programm. Sobald da nur rjmp reset steht funktionierts. Warum ist es so, wo liegt der Fehler.
Selbst bei Programmen die keine Interrupts benutzen darf ich keinen reti stehen haben. Also Programme die den Eingang gleich an Ausgang schalten; sprich, das billigste vom billigsten.
Kann den Fehler einfach nicht finden. AVR Studio gibt keinen Fehler aus und ich möchte auch nicht nach jeder kleinen Änderung den uC neu programmieren. Soll ja angeblich auch nicht unbegrenzt oft funktionieren.

Code:
.include "m8def.inc"
.def temp = r16

rjmp reset ; Reset Handler
;rjmp interrupt0 ; IRQ0 Handler
;reti ; IRQ1 Handler
;reti ; Timer1 Capture Handler
;reti ; Timer1 compare Handler
;reti ; Timer1 Overflow Handler
;reti ; Timer0 Overflow Handler
;reti ; SPI Transfer Complete Handler
;reti ; UART RX Complete Handler : RXCIE
;reti ; UDR Empty Handler
;reti ; UART TX Complete Handler
;reti ; ADC Conversion Complete Interrupt Handler
;reti ; EEPROM Ready Handler
;reti ; Analog Comparator Handler
;reti
;reti
;reti
;reti
;reti

reset:
	ldi temp, LOW(RAMEND) ;LOW-Byte der obersten RAM-Adresse
	out SPL, temp
	ldi temp, HIGH(RAMEND) ;HIGH-Byte der obersten RAM-Adresse
	out SPH, temp

	ldi r16, 0xFF
	out DDRC, r16 ; Port C output
	ldi r17, 0x00 
	out PORTC, r17 ; Port C LEDs an

;-----------externer Interrupt enablen--------------
	ldi r16, 1<<int0
	out GICR, r16
	
	ldi r16, 1<<ISC01
	out MCUCR, r16

	sei			;global interrupt enable
;----------------------------------------------------
main:
	loop:
		rjmp loop

;----------Interruptprozedur--------------
interrupt0:
	com r17
	out PORTC, r17
reti
;----------------------------------------