Archiv verlassen und diese Seite im Standarddesign anzeigen : for-schleife in Assembler für PIC
picprogger
09.03.2007, 21:48
Hallo,
wie kann ich eine for-schleife in Assembler für einen PIC realisieren,
welche Befehle brauche ich?
Danke
Gruß
ich würde mal grob sagen:
du beginnst mit subsection mit "call subblubb" aufrufen
dann:
subblubb:
movlw 0x10 ; hier gewünschten Wert (das ist dein i)
movwf DVAR ; Delay-Variable wird runtergezaehlt
PLoop:
decfsz DVAR,F ; DVAR wird runtergezaehlt, die goto-Anweisung
...auszuführender code............
goto PLoop
return
picprogger
09.03.2007, 22:20
Hallo,
das sieht gut aus werde es mal probieren!
Danke
Der auszuführende Code muss zwischen PLoop und decfsz stehen...
"Decrement F,skip next (Instruction) if Zero"
Gruß,
SIGINT
ist das nicht voll egal? ist ja dann nur noch ne zählgeschichte....
Ä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:
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.