Forum: Mikrocontroller und Digitale Elektronik Bibliotheken in Assembler


von Dennis B. (danrulz81)


Lesenswert?

Hallo zusammen,

ist es möglich, eine Bibliothek in Assembler anzulegen, und diese dann 
dort aufzurufen?

Ich meine das so:
1
ldi r16, 0xFF
2
out DDRB, r16

wird als PORTB-Ausgang irgendwo abgespeichert, und ich brauch nachher 
nur im Assembler schreiben:

PORTB-Ausgang

von Klaus W. (mfgkw)


Lesenswert?

Das wäre z.B. ein Fall für ein Makro in einer Datei, die
in den Quelltext includet wird?

von Klaus W. (mfgkw)


Lesenswert?

Ein brauchbarer Makroassembler heißt übrigens C ...

von Dennis B. (danrulz81)


Lesenswert?

Aber ein Macro muss ich doch immer in das Programm schreiben:

[/avrasm]
.macro
     inhalt macro
     bla
     bla
.endmacro
programm
     bla
     bla
     macro
     bla
     bla
wiederholen
[/avrasm]

Ich meine das Makro muss ich ja immer am Anfang meines Programms immer 
wieder neu schreiben, oder nicht? Von C hab ich leider null Ahnung.

von Dieter W. (dds5)


Lesenswert?

> Ich meine das Makro muss ich ja immer am Anfang meines Programms immer
> wieder neu schreiben, oder nicht?

Du sagst es: oder nicht.

Die Makros können auch in einer externen Datei stehen, die mit include 
in den Quelltext eingebunden wird.

Der Assembler fügt dann an der Stelle an der das "include Dateiname" 
steht den Inhalt dieser Datei ein, kann man sehr schön in der Listing 
Datei sehen.

von Flo (Gast)


Lesenswert?

Du kannst dir die Makros in eine extra Datei schreiben, die du dann bei 
Bedarf in deinen aktuellen Quellcode inkludieren, d.h. einbinden kannst.

von Dennis B. (danrulz81)


Lesenswert?

Ist es dabei egal, welche Endung die Datei hat? Also ob ich die *.txt 
oder *.jkl nenne?

von Klaus W. (mfgkw)


Lesenswert?

*.txt ist ein ebenso doofer Name wie *.jkl, aber statt *
etwas anderes wäre deutlich besser ;-)

von Dennis B. (danrulz81)


Lesenswert?

Das sollte auch nur als Beispiel dienen.

Zum Beispiel: Zinit.mkr zum Z´-Pointer initialisieren.

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.