Servus,
bräuhcte bitte kurz ein bischen Hilfestellung.
Es geht um folgenden Code
1 | .include "m48def.inc"
|
2 |
|
3 | .def temp = r16
|
4 | .def cnt = r17
|
5 |
|
6 | .org 0x0000
|
7 | rjmp main
|
8 | .org OVF0addr
|
9 | rjmp t0_ovf
|
10 |
|
11 | main:
|
12 | ; Stackpointer initialisieren
|
13 | ldi temp, HIGH(RAMEND)
|
14 | out SPH, temp
|
15 | ldi temp, LOW(RAMEND)
|
16 | out SPL, temp
|
17 |
|
18 | ldi temp, (1<<COM0A0) | (1<<WGM01)
|
19 | out TCCR0A, temp
|
20 |
|
21 | ; ldi temp, (1<<CS01) | (1<<CS00)
|
22 | ldi temp, (1<<CS00)
|
23 | out TCCR0B, temp
|
24 |
|
25 | ldi temp, 83
|
26 | out OCR0A, temp
|
27 |
|
28 | ldi temp, (1<<OCIE0A)
|
29 | sts TIMSK0, temp
|
30 |
|
31 | sei
|
32 |
|
33 | loop: rjmp loop
|
34 |
|
35 | t0_ovf:
|
36 | tst cnt
|
37 | breq langerloop
|
38 | inc cnt
|
39 | reti
|
40 |
|
41 | langerloop:
|
42 | ldi temp, 111
|
43 | out OCR0A, temp
|
44 | reti
|
Hier soll nach dem Ausführen von langerloop zurück in t0_ovf zu der
zeile inc cnt gesprungen werden und nicht (wie es aktuell tut) zurück
ins Hauptprogramm. Welcher Befehl is dafür nötig?
Danke für Hilfe!!!