www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler-Code unter C


Autor: Heinz Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß jemand, wie man Assembler-Code unter C einfügen kann?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutze die Suchfunktion unter Verwendung des Suchbegriffs
"inline-assembler".

Autor: Heinz Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich schon versucht. Leider steht da nur: "Lets you execute ASM
commands in debug modus."

Also nichts Informatives, was mir helfen könnte.

Kennst du denn die Syntax, wie es gemacht wird?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine nicht die Hilfefunktion Deines was-auch-immer-für-ein-Tool,
sondern die dieses Forums hier.

Eines der Ergebnisse davon:
http://www.mikrocontroller.net/wiki/Spezial:Search...

Im übrigen steht sowas in der Dokumentation des von Dir verwendeten
C-Compilers - da Du den nicht zu nennen gewillt warst, kann Dir auch
kein präziserer Hinweis gegeben werden.

Autor: Heinz Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Link.

Leider kann ich unter diesem nichts Informatives, d.h. Syntax, finden.
Trotzdem danke.

Ich arbeite mit dem C-Compiler der Firma Keil. Und wie gesagt unter
deren Hilfe finde ich auch nichts zum Thema Assembler-Einbettung in C.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich will Dir nicht zu nahe treten, aber im "AVR-GCC-Tutorial", auf das
der von mir zitierte Link verweist, ist auch das hier enthalten:
http://www.mikrocontroller.net/wiki/AVR-GCC-Tutori...

Das sieht bei Deinem Keil-Compiler vermutlich anders aus, aber ohne zu
wissen, welcher es ist, kann ich Dir nur einige vage Hinweise geben.

http://www.keil.com/discuss/docs/thread1180.htm
http://www.keil.com/discuss/docs/thread2140.htm

und vor allem:

http://www.keil.com/support/docs/2308.htm

Ich denke, Du solltest besser suchen lernen. Ich hab' für obige Links
etwa drei Minuten gebraucht, obwohl ich nicht mit Keil-Compilern
arbeite.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich arbeite mit dem C-Compiler der Firma Keil."

Es gibt von Keil mindestens 4 Compiler (ARM, 8051, 251, C166).

Und wer behauptet, er findet weder in den Compiler-Handbüchern, noch
auf der exzellenten Keil-Webseite (Knowledgebase, Forum) etwas über die
verschiedenen Methoden Assembler zusammen mit C zu verwenden, der lügt.


Peter

Autor: Heinz Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter

Danke. Habe über google auch grad den ersten von dir aufgeführten Link
gefunden. Leider hilft mir die dortige Information nicht viel weiter.

Die Informationen unter dem letzten Link sind allerdings Gold wert. Da
ist wenigstens mal eine ordentliche Syntax dargestellt.

#pragma src

void main(void){
   test();

#pragma asm
      JMP   $           ; endless loop
#pragma endasm
}

Denn nur mit asm geht´s nämlich nicht. Das muss schon in der Form
dastehen.

Oh so firm bin ich nun auch nicht, dass ich weiß, wieviele C-Compiler
es von Keil gibt. Habe damit nicht alltäglich Kontakt.

Ich arbeite mit dem 8051.

Der Nachteil an dieser Assembler-Einbettung ist leider, dass man keine
weitere C-Syntax verwenden darf, wenn ich es jetzt richtig
interpretiert habe. Müsste also dann alles in Assembler schreiben. Ein
Misch-Masch geht wohl nicht.

Vielen Dank noch mal.

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.