Forum: Compiler & IDEs rjmp


von Markus (Gast)


Lesenswert?

Hallo,

kann mir mal jemand sagen, wie ich dem Assembler beibringe, daß er
einen rjmp so ausrechnet, daß der auf eine feste Adresse springt. Also
ich will mit einem rjmp an die Adresse 0x0000 springen. Schreibe ich
rjmp 0, dann compiliert er das so, daß er -2 springt.

Danke

von Jörg Wunsch (Gast)


Lesenswert?

Label auf feste Adresse setzen, RJMP <label>.

von Markus (Gast)


Lesenswert?

Tja, danke. Das hatte ich schon gemacht. Ich dachte es gibt da noch eine
elegantere Möglichkeit. Also einfach ein Label mit .org setzen.

von Jörg Wunsch (Gast)


Lesenswert?

Meiner Erinnerung nach sollte es mit dem aktuellen GNU assembler auch
direkt gehen.  Was für eine Version hast Du denn?

von Markus (Gast)


Lesenswert?

Ist schon etwas ältr. Wie kriege ich ihn dazu, daß er mir die Version
anzeigt?

von OldBug (Gast)


Lesenswert?

Hi!

Ganz einfach:

 $ avr-as --version

von Markus (Gast)


Lesenswert?

Ich assembliere mit avr-gcc!
Hat die Version: 3.3 20030310

von Jörg Wunsch (Gast)


Lesenswert?

Dennoch wäre die Assemblerversion das eigentlich entscheidende:

% avr-as -v
GNU assembler version 2.14 (avr) using BFD version 2.14 20030612 +
coff-avr-patch (20030831)
^D

Aber in der Tat: Deine Toolchain könnte zu alt sein dafür.  Die
Interpretation der Sprungziele wurde mal geändert.

von Markus (Gast)


Lesenswert?

Na gut, ich weiß erstmal bescheid. Ich werde das erstmal mit einer
Sprungmarke machen. Das wird ja auch in Zukunft mit neuern Versionen
immer funktionieren.
Nochmal schönen Dank.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.