Was meinst du mit Toggeln des Port-Ausgangs? Umschalten zwischen Ein- und Ausgang?
Das versteh ich nicht ganz:
Du liest diesen Wert auch dann, wenn der PORTx nicht als Ausgang geschaltet ist (dann wird natürlich dadurch der jeweilige Pullup-R aktiviert, wenn das zugehörige PORTx-Bit gesetzt ist).
Gibt es noch was anderes Als Ein- und Ausgang. Direkt nach einem Reset ist ein Port dann auf Ein- oder auf Ausgang gechaltet?

Also ich verstehe das jetzt so:
Auf Eingang schreiben -> Pullup an/aus
Am Ausgang lesen -> man bekommt den Wert den der Ausgang gerade hat

Hier mal die überarbeitete Version meines Codes:
Code:
;+++++++++++++++++++++++++++
;My first AVR ASSEMBLY CODE
;+++++++++++++++++++++++++++

;################
.NOLIST
.INCLUDE "m8def.inc"
.LIST
;################

.EQU Taster1     = 2
.EQU LED1        = 5

RJMP   main

main:
	LDI     R16,0b00100000		
	OUT     DDRD,R16                ;PORT D Input/Output directions setzen

	SBIC    PIND,Taster1            ;Taster1 prüfen
	RJMP    led_on                  ;springen wenn gedrückt        

        CBI     PORTD,LED1              ;LED1 ausschalten
	RJMP    main
led_on:
	SBI   	PORTD,LED1              ;LED1 anschalten
	RJMP    main
Als nächstes werde ich mal versuchen die LEDs zum blinken zu bringen.