guten Morgen, ich habe ein Programm geschrieben, und in dem soll ein Unterprogramm aufgerufen werden. das Unterprogram habe ich extra gespeichert. und im Hauptprogramm rufe ich mein Unterprogramm unter include"test.asm". das unterprogramm habe in Source files hinzugefügt. ist es richtig?
Sahra Nana schrieb: > guten Morgen, > ich habe ein Programm geschrieben, und in dem soll ein Unterprogramm > aufgerufen werden. das Unterprogram habe ich extra gespeichert. und im > Hauptprogramm rufe ich mein Unterprogramm unter include"test.asm". das > unterprogramm habe in Source files hinzugefügt. > ist es richtig? Nein. .include ruft nichts auf. .include inkludiert einen Text in einen anderen Text. Mehr macht das nicht. Das ist so wie wenn du in einem Editor einen Text schreibst. Dann setzt du den Cursor auf eine bestimmte Stelle und rufst den Menüpunkt auf 'Eine andere Datei an der Stelle, an der der Cursor gerade steht, einfügen'. Und der Editor machst das dann auch: Er macht die andere Datei auf, holt sich den Inhalt und fügt den Inhalt an der Stelle des Cursors ein. Mehr macht .include nicht. Ein Unterprogramm wird mit rcall aufgerufen.
Karl heinz Buchegger schrieb: > Ein Unterprogramm wird mit rcall aufgerufen. danke erstmal, aber mit rcall ruf ich ein unterprogramm, das in einem Label in mein Hauptprogramm geschrieben ist. aber ich habe mein Unterprogramm mit der Endung *.asm gespeichert und mein Hauptprogramm soll das Unterprogramm von der Datei zb test.asm aufrufen. Geht es auch mit rcall? VG sahra
Hi > aber ich habe mein >Unterprogramm mit der Endung *.asm gespeichert und mein Hauptprogramm >soll das Unterprogramm von der Datei zb test.asm aufrufen. Für den Assembler ist es egal, ob das Label im Hautprogramm oder in einer Include-Datei steht. Es muss nur vorhanden sein. >Geht es auch mit rcall? Ja. Bzw bei grösseren Controllern auch mit 'call'. MfG Spess
Nochmal: Wenn sich dein Assembler deine Hauptdatei 'main.asm' vornimmt, dann löst er alle .include auf. Aus den beiden Dateien main.asm test.asm +----------------------+ +---------------------+ | abcd | | 01234 | | .include 'test.asm' | | 56789 | | xyz | +---------------------+ | ... | +----------------------+ baut sich der Assembler einen Zwischentext +---------------------------+ | abcd | | 01234 | | 56789 | | xyz | | ... | +---------------------------+ indem er den .include auflöst und die Zeile mit dem Include durch den Inhalt der Datei test.asm ersetzt. Und erst dieser Text wird dann durch die Übersetzung gejagt! Die Frage 'UP existiert in einer anderen Datei' stellt sich somit gar nicht mehr. Denn wenn sich der Assembler den Programmtext dann zur Übersetzung vornimmt, gibt es keine unterschiedlichen Dateien mehr. Die .include sind längst alle aufgelöst und durch den Inhalt der jeweiligen Dateien ersetzt worden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.