Forum: Compiler & IDEs AVR-GCC: C-Compiler: Assembler-Datei anzeigen


von Alexander (Gast)


Lesenswert?

Hallo,

ich nutze das AVR Studio mit dem AVR-GCC-Plugin und schreibe meine 
programme in C.

Jetzt habe ich eine zeitkritische Anwendung und möchte diese gerne 
stellenweise mit ASM optimieren.

Da ich nicht ganz soviel Ahnung von ASM habe, dachte ich mir, ich 
schreibe den Code erstmal in C und schaue mir dann das vom Compiler 
erzeugte Assembler an, welche ich dann per Hand optimiere.

Doch wie komme ich an die Assembler-Datei heran? Ich finde im 
Program-Verzeichnis keine ASM-Datei. Welchen Parameter muss ich dem 
Compiler bzw. dem Assemblierer übergeben, damit er die ASM-Datei nicht 
löscht?

Danke für Eure Hilfe...

Alexander

von Marvin M. (Gast)


Lesenswert?

Such mal nach einer Datei mit der Endung .lss

von Alexander (Gast)


Lesenswert?

Hi,

danke für die schnelle Antwort.
Die *.lss-Datei ist genau was ich suchte. Allerdings wird diese 
anscheinend nur erstellt (wie ich gerade festgestellt habe), wenn in den 
"Project Options" unter "General" die Option "Generate List File" 
aktiviert ist.

Gruß

Alexander

von Stefan (Gast)


Lesenswert?

Ja, dafür gibt es solche Optionen...
Wenn Du's im AVR-Studio kompilieren lässt, kannst Du dir auch unter 
"View" den disassemblierten Code, einschliesslich der C-Bezüge, anzeigen 
lassen.

Meinst Du nicht, dass Dein Beitrag im GCC-Forum besser untergebracht 
wäre, als in das eh' schon überlaufende 'µC & Elektronik' zu posten ?

Stefan


---

von Michael W. (wiebel42)


Lesenswert?

Alexander wrote:
> Da ich nicht ganz soviel Ahnung von ASM habe, dachte ich mir, ich
> schreibe den Code erstmal in C und schaue mir dann das vom Compiler
> erzeugte Assembler an, welche ich dann per Hand optimiere.
Uii, das geht, ganz klar, aber das ist schon eher was von der Kategorie 
"Nur die Harten kom'n in Garten" der erzeugte Assemblercode ist im 
besten Fall, extrem schwer nachzuvollziehen, wenn du noch "nicht ganz 
soviel Ahnung von ASM" hast wird das eine bittere Pille, besser erstmal 
von Menschen  geschrieben und auch kommentierten Code anschauen. Sonst 
verlierst du am ende noch den Spass an Assembler und das wollen wir ja 
nicht.
Bei mir war es andersherum, ich hab bisher nur Assemblererfahrung und 
dachte mir, oh prima via GCC kann ich dann ja auch an aus C erzeugtem 
ASM rumbasteln, ja, bis ich dann besagte *.lss Dateien gesehen hab, mir 
war das zu hart, aber YMMV wie man so schön sagt. ;)  -wiebel

von UBoot-Stocki (Gast)


Lesenswert?

YMMV ?

von Rolf Magnus (Gast)


Lesenswert?

Eine richtige Assembler-Datei generiert gcc, wenn man die 
Kommandozeilenoption -S angibt.

> YMMV ?

Ja, YMMV.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?


von Stefan (Gast)


Lesenswert?


von Alexander (Gast)


Lesenswert?

Hallo,

also ich will ja keinen riesigen Programme mit dem assembierten C-Code 
erstellen, sondern kritische Passagen optimieren.

Das mit der -S Option schau ich mir bei Gelegenheit mal an.

Gruß

Alexander

von Rolf Magnus (Gast)


Lesenswert?

> also ich will ja keinen riesigen Programme mit dem assembierten C-Code
> erstellen, sondern kritische Passagen optimieren.

Es ist aber trotzdem gut möglich, daß es einfacher ist, das selbst in 
Assembler zu implementieren, statt den vom Compiler erzeugten Code zu 
verstehen und umzustricken.

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.