Hallo zusammen,
ich habe mal eine Verständnisfrage zum Thema Taktzyklen zählen. Wenn ich den Timer mit einem bestimmten Wert lade und dann starte, dann werden ab diesem Moment alle Taktzyklen der nachfolgend ausgeführten Befehle gezählt, oder? Läuft der Timer rückwärts? Und wenn er bei 0 angekommen ist, wird dann wieder der Startwert eingetragen? Hier mal ein Beispiel, wie ich mir das vorstelle (CIA 1, Timer B):
// Timer stoppen
lda #$00
sta $dc0f
// Startzeit einstellen (z.B. 50 Taktzyklen)
lda #0
sta $dc07
lda #50
sta $dc06
// Timer starten
lda #$01
sta $dc0f
Alles anzeigen
Was genau passiert ab dem Befehl "sta $dc0f", wird der "STA" schon mitgezählt? Nehmen wir mal an, als nächster Befehl kommt ein "lda #$ff", der verbraucht 2 Taktzyklen, also müßte im Timer dann der Wert 48 drinstehen, korrekt? Und falls der Timer nach ein paar weiteren Befehlen auf 1 steht, und es folgt wieder ein "lda #$ff", steht er danach auf 49?
Der Hintergrund meiner Frage ist, daß ich gerne wissen würde, wieviel "Zeit" teile meiner Routinen benötigen, dann könnte man ja zu Beginn der Routine den Timer einstellen, die Routine ausführen und am Ende der Routine den Timer wieder stoppen und auslesen.