Da ich deinen Scource-Code nicht kenne, kann ich nur raten, wie du das eingebunden hast.
Aber ein Knackpunkt bei dem einbinden von Bibliotheken in den Assemblercode war, dass ich dann duzende von "Sekotr zwei mal beschrieben"-Fehlermeldungen bekommen habe. Dieser tritt auf, wenn du den Code ungefähr so einbindest (und der, wie der AN617 Assembler-Code enthält)
Code:
#include <FMX.A17>
org 0x00
goto main
org 0x04
---do some interrupts---
main:
---do something else---
end
Das Problem ist nun bei dem Preprocessor (der für das Abbarbeiten aller Befehle, die mit einem # beginnen verantwortlich ist), dass er den Inhalt von something.inc nimmt und in 1:1 in dein Source-Code einfügt. Erst dann läuft der Compiler über den Code und wandelt diese in HEX um. Da in dem aber schon Assembler Befehle enthalten sind, aber kein "org" Befehl, haut der Compiler diese Standardmäßig auf die Adresse 0x00. Nun, bis jetzt erkennt er noch kein Fehler, aber dann hast du ja aber den "org 0x00"-Befehl dort stehend, womit du dem Compiler sagst, dass du ab da alle Befehle auf die Adresse 0x00 haben willst (welche aber schon von dem Programmcode des Includes besetzt ist, der Compiler meckert natürlich ^_^ (noch immer besser, als wenn er es nicht tun würde und du dann Tage bei der Fehlersuche sitzt.
Um den Fehler auszumerzen setzt du den Include am besten ganz unten hin, am besten vor End (wenn du eeprom-Daten hast, natürlich davor). Damit wird der Source-Code der Bibliothek erst am ende deines Programms eingefügt und du bekommst die oben genannten Fehler nicht mehr.
Code:
org 0x00
goto main
org 0x04
---do some interrupts---
main:
---do something else---
#include <FMX.A17>
end
Naja, wenn das nichts hilft, post mal die Fehlermeldungen ^_^ und, wenn es geht und du es möchtest dein Source-Code. Die Fehlersuche ist dann um einiges einfacher, da vor allem man nciht mehr Raten muss .
MfG
Mobius
Lesezeichen