Forum: Compiler & IDEs Assembler-Datei aufteilen, Syntax ?


von sigi (Gast)


Lesenswert?

Hallo,

ich möchte eine bestehende IAR-Assembler-Datei der Übersichtlichkeit
halber auf mehrere Dateien aufteilen.
Wie mache ich die ausgelagerten Funktionen im Hauptprogramm bekannt,
bzw. auch die globalen Variablen aus dem Hauptprogramm in den
ausgelagerten Funktionen ?
Hat jemand Beispiel-Code (Ausschnitte reichen) ?
Ich benutze die Entwicklungsumgebung des IAR-Assemblers für die
MSP430-Prozessoren.
Der IAR-Assembler ist miserabel dokumentiert (a430.pdf), kennt jemand
ev. ein besseres Tutorial ?

von Tom (Gast)


Lesenswert?

Wieso nicht einfach die Datei aufteilen und dann mit .include "..."
die ausgelagerten Teile einbinden?

von peter dannegger (Gast)


Lesenswert?

Ist ein typisches C-Anfängerproblem.

Ich hatte auch mal so gedacht: mache nur die neuen Teile in C und füge
alles alte Asemblerzeugs hinzu.

Nachdem ich aber gemerkt habe, wie fehleranfällig, unflexibel,
unportabel und aufwendig sowas ist, bin ich sehr schnell dazu
übergegegangen, alles in C zu schreiben, solange man in dem alten
Assemblerzeugs noch durchblickt und dessen Funktionalität noch im Kopf
hat.


Eine gute Möglichkeit, Assembler in C unterzumengen ist, man schreibt
einen C-Rumpf, der die Funktionen und die Variablen definiert und läßt
das nach Assembler übersetzen und fügt dann dort den Assembler ein.


Peter

von sigi (Gast)


Angehängte Dateien:

Lesenswert?

Wollte ein existierendes und gut funktionierendes Assembler-Projekt nur
auf mehrere Dateien aufteilen, um das ganze besser pflegen und kleinere
Veränderungen vornehmen zu können.
Die Codegrösse ist ohne Debug-Infos schon jetzt knapp am Limit des
MSP430F1121 mit 4 kB.
Der Prozessor sollte dafür aber auch weiterhin eingesetzt werden
können.
Die Lösung einer Aufteilung mit dem Einbinden über include-Anweisungen
hat nicht geklappt (wg. Codegrösse, evtl auch andere Probleme)
Nach dem Prinzip Versuch und Irrtum (die Doku für den IAR Assembler die
ich habe - a430.pdf kann man total vergessen), hat sich jetzt diese
Lösung (Anlage) als praktikabel erwiesen.

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.