Assembler-Datei aufteilen, Syntax ?

Gast #363390
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 ?
Gast #363392
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
Gast #363393
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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren