Hi,
Du kannst mit <pre>.include "pfad\name.asm"</pre> andere Assembler-Dateien einfügen. Einen Beitrag dazu gibt es hier. Ich habe keine Erfahrung, wie man dabei optimal mit den Labels und Namen umgeht.
Gruß
Fred
Hi,
ich habe vor (absichtlich ) ein größeres (Wecker)projekt in Assembler zu schreiben.
Schreibe ich aber den ganzen Code in eine Datei, so wird das ganze recht schnell unübersichtlich.
Gibt es nun einen sinnvollen/richtigen Weg, Funktionen in externe Dateien auszulagern? Sollte man irgendwie mit Header- und Source-Dateien arbeiten, wie in C?
Gruß, CowZ
Hi,
Du kannst mit <pre>.include "pfad\name.asm"</pre> andere Assembler-Dateien einfügen. Einen Beitrag dazu gibt es hier. Ich habe keine Erfahrung, wie man dabei optimal mit den Labels und Namen umgeht.
Gruß
Fred
Only entropy comes easy. - Anton Checkhov
Und wenn du den GCC-Assembler benutzt, kannst du dort im Prinzip genau so arbeiten, wie in C, also mit separaten Sources und Headern.
MfG
Stefan
Du kannst ja mehrere Datein mit Assembler Code anlegen.
Die musst du dann aber in der "Haupt-Assemblerdatei" oder wie es beim
AVR Studio heißt im "Entry File" mit .include "name.asm" angeben.
Alle Datein, die du angiebst, müssen im AVR-Studio im "Source Files"
geöffnet sein.
Mit Sprungnefehlen gelangst du dann zu den Labels.
Macros kannst du natürlich auch noch anlegen.
Hier kannst du auch noch Werte übergeben.
Viel Spaß
Gruß
Tobi
Hi,
ok, danke schön
Gruß, CowZ
Hallo,
kann man das auch mit Bascom machen?
Also eine Datei erstellen mit den ganzen Funktionen (allerdings in Basic geschrieben), und eine zweite, in der die Aufrufe drin sind?
Viele Grüße
Das solltest Du separat fragen, da bei dem Titel "Funktionen in andere Dateien auslagern" im Forumszweig "Assembler-Programmierung" kein Bascom-Experte reinschauen wird.
Doch, die gucken hier auch mal rein. Dauert manchmal nur nen bissel...
Das geht auch bei Bascom.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Hi peterfido,
danke für deine Antwort!
Und wie stelle ich das nun in Bascom an? Muss ich da dann für jede "ausgelagerte" Funktion ne eigene Datei machen? Und wie werden die Funktionen dann aus dem "Hauptprogramm" aufgerufen?
Viele Grüße
ikarus_177
Schaue dir mal den Befehl $include an.
Der sorgt dafür, das die angegebene Datei so eingebunden wird, als würde der enthaltene Programm-Text direkt anstelle des includes stehen.
Dies bietet sich nicht nur an, wenn einem das Programm zu lang wird, sondern insbesondere dann, wenn man sich Routinen geschrieben hat, die man nicht nur in einem Projekt gut verwenden kann. Anstelle den ganzen Programmtext dieser Routinen nun immer wieder in die diversen Projekte einzukopieren, kann man einfach die Datei mit dem Programmtext includen.
Ein weiterer Vorteil ist, das man, falls einem Verbesserungen an so einem Programmteil einfallen, nicht in allen Projekten Änderungen eintippen muss, sondern nur die jeweilige include-Datei geändert werden muss. (neu compiliert muss es aber in jedem Fall werden)
Nochmal: du behandelst die Funktionen und Prozeduren der include-Datei genau wie Programmtext, der im Hauptlisting steht. Bascom nimmt beim Compilieren den Programmtext der include-Datei und schreibt diesen genau an die Stelle, an der der include-Befehl steht.
Gruß MeckPommER
Mein Hexapod im Detail auf www.vreal.de
Lesezeichen