Hallo, ich habe mal wieder ein Verständnisproblem. In einem Code habe ich folgenden verkürzten Ausschnitt:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
|
Anzeige
|
avr asm makro verständnisproblemHallo, ich habe mal wieder ein Verständnisproblem. In einem Code habe ich folgenden verkürzten Ausschnitt:
Gast
#6422796
Wie lautet deine Frage? Stefan ⛄ F. schrieb: > Wie lautet deine Frage? IO freq,D,5 Das macro IO definiert doch nur einige .set Befehle. Woher weiß man, daß es sich hier um <name> <port> <pin> handelt. @0, @1, @2 sind die Parameter des Makro-Aufrufs, und werden dann im Makro durhc die entsprechend Zeichenfolgen ersetzt. Schreib dir das auf, dann siehst du, was passiert. Ganz genrell ist das aber eine Frage, die du dir selber über RTFM erarbeiten musst. Anders geht das halt nicht. Oliver Die @0, @1 und @2 innerhalb des Makros werden durch die entsprechenden Parameter des Makroaufrufs ersetzt. Dieses Prinzip ist mir wohl klar. Daher verstehe ich auch das folgende macro IOInp und den nachfolgenden Befehl, aber das trifft ja bei IO nicht zu. Das macro definiert per set doch nur ein paar alias. Ansonsten wird kein Code generiert. Was genau erwartest du von dem Makro? Thomas Z. schrieb: > Das macro definiert per set doch nur ein paar alias. Ansonsten wird kein > Code generiert. Das ist genau das aws ich meine. Wie kommt man dann zu: IO freq,D,5 Bruno M. schrieb: > Das macro IO definiert doch nur einige .set Befehle. Woher weiß man, daß > es sich hier um <name> <port> <pin> handelt. Weil das da so steht? Derjenige, der dieses Makro geschrieben hat, hat das halt so geschrieben. Oliver Hier weiß niemand, wo dein Problem liegt. Versuche mal, genau auszuformulieren, was du nicht verstehst. Meine Frage habe ich oben formuliert. Das macro IO definiert einige .set. Im Befehl IO freq,D,5 wird aber einem Namen ein Port und ein Pin zugeordnet, das hat doch nichts mit dem macro IO zu tun.
Gast
#6422839
Warum muß man seinen Code nur so unnötig mit Macros verkomplizieren? Mach ein normales Unterprogramm samt aussagekräftiger Kommentierung draus und gut ist. Schreib mal .LISTMAC an den Anfang. Dann siehst Du was das Macro macht. WARUM sollte das nichts mit dem Makro zu tun haben? Du gibst dem Makro 3 Parameter und das Makro nutzt 3 Parameter? Wo ist das Problem? Der Code ist nicht von mir, aber er funktioniert! Da ich aber Änderungen vornehmen muß, muß ich ihn verstehen. Aus
wird
Was gefällt dir daran nicht? Nun ja wenn du nicht verstehst wie Makros funktionieren solltest du das nicht benutzen. Das ist der schnellste Weg sich ins Knie zu schießen. Das erste Makro definiert in deinem gezeigten Fall u.a. einen Namen ddr_ freq mit DDRD. Das zweite Makro benutzt die Alias Werte um Code zu erzeugen. Samuel C. schrieb: > Was gefällt dir daran nicht? danke, der Groschen ist gefallen! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|