Du setzt r16 auf 1 und vergleichst im nächsten Schritt auf 0.. Das Ergebnis wird immer 1 sein...
Hier mal ein Wechsellicht zwischen PortD 5 und PortD 6. Der Taster liegt auf PinD2, Pulldown, geschlossen auf High:
Code:$regfile = "m32def.dat" $crystal = 8000000 $framesize = 30 $hwstack = 30 $swstack = 30 $asm ldi r16, &b01100000 Out Ddrd , R16 ldi r16, &b01000000 Out Portd , R16 Lop: sbic Pind , 2 rcall Invled rjmp lop Invled: ldi r16, &b00100000 sbis pind,6 ldi r16, &b01000000 Out Portd , R16 Loslassen: sbic pind,2 rjmp Loslassen ret $end Asm End







Zitieren

Lesezeichen