Forum: Mikrocontroller und Digitale Elektronik Assembler Datei mit Makros in Inline-asm benutzen


von Oz z. (ozzy)


Lesenswert?

Moin,

ich habe einige kleine Makros, die ich gerne weiterbenutzen würde. 
Momentan habe ich ein C-Projekt, in welchem ich in kritischen 
Abschnitten inline-Assembler benutze. Aber kann ich in diesen Teilen 
auch die Makros "aufrufen"? Erste Versuche, wie z.B.
1
asm volatile  (  "MUL_16x16 r16, r17, r18, r19"  );
haben nämlich nicht geklappt...

Geht das überhaupt?

MfG, und vielen Dank, Ozzy

von ... .. (docean) Benutzerseite


Lesenswert?

Das in "" ist ja Text für den Compiler/präpro...

Daher werden da wohl keine Ersetzungen vorgenommen...(also kein Makros)

Hier steht auch viel:
http://www.roboternetz.de/wissen/index.php/Inline-Assembler_in_avr-gcc
oder hier:
http://www.roboternetz.de/wissen/index.php/Sourcevergleich#GCC_.28Assembler_einf.C3.BCgen.29

von Oz z. (ozzy)


Lesenswert?

Hi,

aber genauso wird doch aus das Makro im asm-Code "aufgerufen". Ich hatte 
gehofft, die alle noch einmal umschreiben zu müssen (also mit
1
__asm__ __volatile__
 ...)

Aber wenn's nicht anders geht...

und wie kann ich dem dann Register mitgeben?


MfG, Ozzy

von gs-scarnight (Gast)


Lesenswert?

Hallo,

hier findest du eine gute Übersicht wie man Inline-Assembler benutzt. 
Ausführlicher in der Doku deines Compilers....

Die ersten Beispiele betreffen den GCC und insbesondere den 
ARM-Prozessor:

http://www.ethernut.de/en/documents/arm-inline-asm.html

Hier das gleiche nochmal für AVR, unterscheidet sich aber nur ein wenig 
in der Syntax (die Konzepte sind identisch):

http://www.roboternetz.de/wissen/index.php/Sourcevergleich#GCC_.28Assembler_einf.C3.BCgen.29

Gruß
gs-scarnight

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.