Estmal "DANKE"
Geht dass so:
;Grundeinstellungen
.include "4433def.inc" ;AVR-Typ wählen
ldi r16, 0xFF ;Port B durch Ausgabe von 0xFF ins
out DDRB, r16 ;Richtungsregister DDRB als Eingang
;konfigurieren
ldi r16, 0x00 ;Port D durch Ausgabe von 0x00 ins
out DDRC, r16 ;Richtungsregister DDRD als Ausgang
;konfigurieren
ldi r16, 0x00 ;Port D durch Ausgabe von 0x00 ins
out DDRD, r16 ;Richtungsregister DDRD als Ausgang
;konfigurieren
ldi r16, 0x00 ;0x00 in Register r16 laden
out PORTC, r16 ;Register r16 nach Port C ausgeben
ldi r16, 0x00 ;0x00 in Register r16 laden
out PORTD, r16 ;Register r16 nach Port D ausgeben
;Programm
loop: in temp, PINB ;einlesen von PIN B
cpi r16, 0b00110011 ;1.Vergleich
brne chk_2 ;wenn nicht gleich, anderer Vergleich
ldi r17, 0b01010101 ;Ausgabewert für condition1
rjmp ausgabe
chk_2: cpi r16, 0b00111011 ;2.Vergleich
brne chk_3 ;wenn nicht gleich, anderer Vergleich
ldi r17, 0b00001111 ;Ausgabe für condition2
rjmp ausgabe
....
....
....
ausgabe: out PORTD, r17