Hallo,
ich habe eine einfache Assembler-Routine, die ich in meinem main.c
Aufrufe.
Wenn ich die Assembler-Routine schrittweise mit F10 debugge, dann stoppt
der Debugger irgendwann und der gelbe Pfeil (wo ich mich im ASM-Code
gerade befinde) verschwindet.
Dies passiert an unterschiedlichen Stellen im Assembler-Code.
Hier der Code:
1 | secondfunc_asm:
|
2 | LDI R16, 8 ; Zähler auf 8 setzen
|
3 |
|
4 | LOOP:
|
5 | SBI _SFR_IO_ADDR(PORTB), 5 ; Pin auf HIGH
|
6 | SBRS R1, 7
|
7 | NOP
|
8 | CBI _SFR_IO_ADDR(PORTB), 5 ; Pin auf LOW
|
9 | LSL R1
|
10 |
|
11 | DEC R16
|
12 | CPI R16, 0
|
13 | BRNE LOOP
|
14 | RET
|
Habe den Code hier auf wenige Zeilen reduziert, um das Wesentliche zu
zeigen. So wie der Code hier gezeigt ist, macht er kaum Sinn, aber das
Problem tritt hier auf.
Woran kann das liegen, dass der Debugger an unterschiedlichen Stellen
einfach stoppt und ich nicht weiter debuggen kann?
Danke...