
; Taster auslesen und auf einem anderen Port ausgeben
; einfachere Variante
;
; Achim Walther, www.voidpointer.de, 20.11.2004

.include "m8def.inc"		; definitions for Mega8

.def temp = R16

init:	ldi temp, 0xFF
	out DDRC, temp		;Port C durch Ausgabe von 0xFF ins
				;Richtungsregister DDRC als Ausgang konfigurieren
	ldi temp, 0x00
	out DDRD, temp		;Port D durch Ausgabe von 0x00 ins
				;Richtungsregister DDRD als Eingang konfigurieren
	ldi temp, 0xFF
	out PORTC, temp		;PORTC auf 0xFF setzen -> alle LEDs aus

loop:	sbis PIND, 7		;"skip if bit set", nächsten Befehl überspringen,
				; wenn Taste nicht gedrückt, keine LED an

	cbi PORTC, 0		;Bit 0 im IO-Register PORTB auf 0 setzen -> 1. LED an

	sbic PIND, 7		; wenn Taste gedrückt nichts tun
	sbi PORTC, 0		; LED aus

ende:	rjmp loop		;Endlosschleife