8051 Interrupt

OP #1439894
Lesenswert?

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.
Gast #1439906
Lesenswert?

>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.
#1440078
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren