mikrocontroller.net

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


Autor: Alexander (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach einer Datei mit der Endung .lss

Autor: Alexander (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


---

Autor: Michael Waiblinger (wiebel42)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: UBoot-Stocki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
YMMV ?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine richtige Assembler-Datei generiert gcc, wenn man die 
Kommandozeilenoption -S angibt.

> YMMV ?

Ja, YMMV.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Alexander (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.