Du wirst es mir wahrscheinlich nicht glauben, aber das habe ich mir selbst auch bereits mal durchgelesen (ich gehöre nämlich nicht zu denen, die ihre Fragen stellen in der Hoffnung, dass andere für sie googlen). Doch leider ist es ja auch so, dass es auf dem Controller so ist, dass das Programm hängen bleibt, wenn ich an der besagten Stelle "ret" verwendet. Mit "rcall mainloop" läuft alles, wie es soll. Ist also nicht dieser AVRStudio Bug.

€: Da es wohl mit Code besser zu verstehen ist (auch wenn nicht ganz Thema vom Thread hier):
Code:
.include	"m8def.inc"

begin:	rjmp	main	; 1 POWER ON RESET
	reti		; 2 Int0-Interrupt
	reti		; 3 Int1-Interrupt
	reti		; 4 TC2 Compare Match
	reti		; 5 TC2 Overflow
	reti		; 6 TC1 Capture
	reti		; 7 TC1 Compare Match A
	reti		; 8 TC1 Compare Match B
	reti		; 9 TC1 Overflow
	reti		;10 TC0 Overflow
	reti		;11 SPI, STC Serial Transfer Complete
	reti		;12 UART Rx Complete
	reti		;13 UART Data Register Empty
	reti		;14 UART Tx Complete
	reti		;15 ADC Conversion Complete
	reti		;16 EEPROM Ready
	reti		;17 Analog Comparator
	reti		;18 TWI (I²C) Serial Interface
	reti		;19 Store Program Memory Ready

;------------------------------------------------------------------------
; Initialisierungen
;------------------------------------------------------------------------
main:
;--- Stack Initialisierung ---
	ldi	r16,high(RAMEND)
	out	SPH,r16
	ldi	r16,low(RAMEND)
	out	SPL,r16
; Register
	ldi	r17,0x00
	ldi	r18,0x00
	ldi	r19,0x00
; Ports initialisieren
	cbi	DDRB,0	; PORTB0 auf Eingang mit PullUp
	sbi	PORTB,0
	sbi	DDRB,1	; PORTB1 auf Ausgang
	sbi	DDRB,2	; PORTB2 auf Ausgang
	sbi	DDRB,3	; PORTB3 auf Ausgang
	sbi	DDRB,4	; PORTB4 auf Ausgang
	sbi	DDRB,5	; PORTB5 auf Ausgang
	sbi	DDRB,6	; PORTB6 auf Ausgang
	sbi	DDRB,7	; PORTB7 auf Ausgang
	sbi	DDRC,0	; PORTC0 auf Ausgang
	sbi	DDRC,1	; PORTC1 auf Ausgang
	sbi	DDRC,2	; PORTC2 auf Ausgang
	sbi	DDRC,3	; PORTC3 auf Ausgang
	sbi	DDRC,4	; PORTC4 auf Ausgang
	sbi	DDRC,5	; PORTC5 auf Ausgang
	sbi	DDRC,6	; PORTC6 auf Ausgang
;------------------------------------------------------------------------
; Hauptprogramm-Schleife
;------------------------------------------------------------------------
mainloop:	wdr
	in	r17,PINB
	cp	r18,r17
	breq	led
	rjmp	mainloop	; Sprung zum Beginn der Hauptprogrammschleife

;Subroutinen
;------------------------------------------------------------------------
led:
	rcall	myWait_30ms
	inc	r19
	out	PORTC,r19
	rcall	mainloop  ; <<< Diese Zeile ist gemeint

myWait_30ms:
	push	r16
	ldi	r16,1
myWait_30ms_3:
	push	r16
	ldi	r16,143
myWait_30ms_2:
	push	r16
	ldi	r16,255
myWait_30ms_1:
	dec	r16
	brne	myWait_30ms_1
	pop	r16
	dec	r16
	brne	myWait_30ms_2
	pop	r16
	dec	r16
	brne	myWait_30ms_3
	pop	r16
	ret