Hallo

Ich möcht ein Programm schreiben das mit "Taster" "LED's" Ein und mit selber Taste Aus zu schalten ist.

Mein bis bisheriger versuch.


Code:
 .include "m8def.inc"


 ;------------------------------------------------------
 ;   Initialisierungen
 ;------------------------------------------------------
 	ldi r16, 0xFF				; lade Arbeitsregister r16 mit der Konstanten 0xFF
	out DDRB, r16 	
 	
	ldi r16, 0x00
	out DDRD, r16
 
 	ldi r19, 0x00       ; Lade register r19 mit der Konstanten 0x00	

	ldi r20, 0x00		; Lade register r20 mit der Konstanten 0x00

	ldi r17, 0x00       ; LED Wert

 ;------------------------------------------------------
 ;   HAUPTSCHLEIFE
 ;------------------------------------------------------
 
 Hauptschleife: 
 
 
 	in r20, PIND    	 ; an Port D anliegende Werte (Taster) nach r20 einlesen
    
	cpse r20, r19		 ; wen beide register gleich sind dan ueber springe den nechsten schrit 

	rjmp s    ;Sprung nach s

	rjmp Hauptschleife    ;Sprung nach Hauptschleife
s:
	eor r17, r20

	out PORTB, r17

SprungXY1:
	
	in r17, PIND    	 ; an Port D anliegende Werte (Taster) nach r11 einlesen

	cpse r20, r17		 ; wen beide register gleich sind dan ueber springe den nechsten schrit
	
	rjmp s2

	rjmp Hauptschleife    ;Sprung nach Hauptschleife
s2:
	eor r20, r17

	out PORTB, r20

	rjmp Hauptschleife

;end
Ich weis nicht mehr weiter und habe noch keine Erfahrung in Assembler.

Ich Benutze ein STK500 und ein ATMega8.

Mit freundlichen Grüßen Ferdinand.