Ähhh,
ist ne FOR-Schleife nicht ne "Zählgeschichte"?!?
Nope, es ist nicht egal wo das decfsz steht...
da der Befehl bei gesetztem Zero-Flag nur die darauf folgende Anweisung übersprungen wird. Das wäre in deinem Fall nur die erste Anweisung vom "auszuführenden Code"... der Rest davon würde ganz normal ausgeführt werden. Und das "goto PLoop" würde dafür sorgen, daß das Programm in einer Endlosschleife verhart. Also ist folgendes richtig:
Code:
subblubb:
movlw 0x10 ; hier gewünschten Wert (das ist dein i)
movwf DVAR ; Delay-Variable wird runtergezaehlt
PLoop:
...auszuführender code............
decfsz DVAR,F ; DVAR wird runtergezaehlt, die goto-Anweisung
goto PLoop
return
Gruß,
SIGINT
Lesezeichen