Gast
#2430191
Hi,
ich hab folgendes Programm geschrieben:
Dabei hab ich folgendes Problem - wenn ich an der Stelle sbic PINC,0 in
das "Unterprogramm" Zaehl springe, dann hüpft ds Programm nach dem
Ret-Befehl nicht zurück wo es hinsoll, es soll eigentlich der nächste
Befehl auch abgefragt werden - sbic PINC,1 ..., aber es springt zum
Anfang des Programms an ldi r20,0x00 zurück und startet von ganz vorne,
dass es aber nicht soll. wo liegt der Fehler?
.include "m8def.inc"
; Setze Zaehler r20 auf Null
ldi r20, 0x00
ldi r22, 0x00
ldi r24, 0x00
main:
; Setze Bit 012 PortC als Schalter
ldi r16, 0x00
out DDRC, r16
loop:
;in r16, PINC
sbic PINC,0
ijmp Zaehl
sbic PINC,1
inc r22
sbic PINC,2
inc r24
rjmp loop
Zaehl:
inc r20
ret