Ich hab hier etwas Assemblercode (nicht von mir) bei einem AT89xx52, wo ich grad Verständnisprobleme habe. Ich hab einen Interrupt, wenn dieser auslöst wird erstmal der Interrupt gesperrt, damit keine weiteren ausgelöst werden. Dann kommt 1 Sprung zum Code und in diesem steht ziemlich am Anfang ein RETI. Also müsste doch der Interrupt jetzt verlassen und "normal" weitergearbeitet werden? Komisch ist nur das nach dem RETI noch Code steht, der auch ausgeführt wird.
>Komisch ist nur das nach dem RETI noch Code steht, der auch ausgeführt >wird. Vieleicht kannst du mal den Code posten. Ich vermute mal: 1. Möglichkeit: es gibt einen Sprung der hinter RETI springt 2. Möglichkeit: der Code hinter RETI ist eine andere Interruproutine hinter RETI sollte aber ein Label stehen. 3. Möglichkeit: Der Code wird niemals ausgeführt und ist in Wahrheit eine versteckte Tabelle auf die mit MOVC A,@A+DPTR zugegriffen wird.
Kommt ein Sprung oder ein Call zum "RETI"? Falls letzteres, dient dieser Aufruf dazu, Deine Interruptroutine "formal" zu beenden. Grüße Steffen
Steffen Hausinger schrieb: > Kommt ein Sprung oder ein Call zum "RETI"? Falls letzteres, dient dieser > Aufruf dazu, Deine Interruptroutine "formal" zu beenden. Ich komm per Sprung zu einem Codebrocken, wo ein Macro eingefügt ist, welches einen RETI enthält.
Reinhard S. schrieb: > Ich komm per Sprung zu einem Codebrocken, wo ein Macro eingefügt ist, > welches einen RETI enthält. Ne ne ne. Du meinst also wirklich, es ist einfacher, einen Quelltext zu beschreiben, als in ganz profan als Datei anzuhängen? So wird dat nix. Peter
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.