Hallo, Ich moechte folgendes in ARM assembler machen: Quelle: code_abschnitt1 a=code_abschnitt2 Compilliert moechte ich es so haben, ob die Quelle so geschrieben war: code_abschnitt2 code_abschnitt1 Was ich brauche, ist die Moeglichkeit Codeabschnitte zu kennzeichen und sie dann an beliebigen Stellen platzen. Wie macht man das? Ich habe schon GS Manual durch und habe sie entweder nicht verstanden (was mir mit GS manual oft passiert) oder habe ich es uebersehen. Danke im Vorraus.
Du musst .section's einführen und diese dann im Linkescript entsprechend platzieren.
Hallo Joerg, Danke fuer die Antwort. Kannst Du mir erklaeren was .macro macht? Wuerde es so gehen oder is es kompletter Bloedsinn? test cod_abschnitt1 .macro test cod_abschnitt2 .endm
Macro ist eine einfache Ersetzung, das solltest du dir in ...zigtausend Dokumenten im Internet anlesen können. Praktisch jeder Assembler implementiert Makros (mehr oder minder gut). Da man Makros erst benutzen kann, nachdem sie definiert worden sind, gänge es höchstens so: .macro code1 cod_abschnitt1 .endm .macro code2 cod_abschnitt2 .endmf code2 code1 Du hast dein Problem sehr dürftig beschrieben, sodass ich nicht weiß, ob das bereits dein Problem lösen würde. Allgemein kann ich dir aber sagen, dass die Variante mit sections auf jeden Fall funktionieren wird. Auf diese Weise werden typischerweise auch Dinge wie Interruptvektoren an die passende Stelle sortiert. Dafür isses natürlich mehr Aufwand.
Ok Danke, .macro ist das, was ich brauche.
Ich wollte nur einen Codeabschnitt A hinter dem Abschnitt B
platzieren, obwohl ich Abschnitt A vor Abschnitt B eingetippt habe.
Wo im Speicher nicht wichtig. Mehr ist es nicht. Deswegen ist .section,
glaube ich, mehr flexibilitaet als noetig.
>zigtausend Dokumenten im Internet.
Das kann sein. Hilft aber nur dann, wenn man weiss, was man sucht.
Aus GAS Manual habe ich eben nicht bzw. nicht sofort verstanden fuer
was .macro gut ist.
Danke nochmals fuer die Hilfe!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.