Es gibt in Zeile 28 den Assemblerfehler Error: branch out of range.
Aber ich springe doch lediglich zu im Kontext nahen temporären Labels?
(Programmierfehler seien jetzt mal nicht betrachtet, habe das
Progrämmchen noch nicht durchgetestet. Aber der Fehler hindert mich im
Moment daran)
google sagt:
Restrictions
The branch destination must be within 4 to 130 bytes after the
instruction and in the same execution state.
Das ist jedoch Prossesor abhänig...
Denis schrieb:> The branch destination must be within 4 to 130 bytes after the> instruction and in the same execution state.
Man kann also offenbar nur vorwärts springen.
Insofern haben sie entgegen der Doku halt noch mehr Unterschiede als ein
explizites CMP+BNE.
Jörg W. schrieb:> Insofern haben sie entgegen der Doku halt noch mehr Unterschiede als ein> explizites CMP+BNE.
ARMv7-M Architecture Reference: "Compare and Branch on Non-Zero and
Compare and Branch on Zero compares the value in a register with zero,
and conditionally branches forward a constant value."
Jo, aber bei Keil haben sie behauptet, es sei das gleiche wie CMP+BNE
mit der Ausnahme, dass die Flags nicht gesetzt werden. Die andere
Sprungweite ist halt noch eine zweite Ausnahme.
@Chris: musst du also so umschreiben: