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
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
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 ---
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
Eine richtige Assembler-Datei generiert gcc, wenn man die
Kommandozeilenoption -S angibt.
> YMMV ?
Ja, YMMV.
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
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.