Vector Table - Vector Jump Table

Gast #1575495
Lesenswert?

Hi Leute, kann mir einer den zusammenhang von der "vector address" und 
"jump table address" erklären? Sprich wenn z.B. ein Interrupt des Timer2 
kommt, wo er dann nacheinander hin springt?

Ich steh grad aufm schlauch..

Hier auf Seite 140:

http://www.eng.uwaterloo.ca/~tnaqvi/downloads/DOC/HC12/evbusermanual.pdf

Danke schonmal!
Gast #1575563
Lesenswert?

Vielleicht sollte ich meine Frage präzisieren.

Gesetz dem Fall man will einen Timer2-Interrupt verarbeiten und schreibt 
die ISR dafür an die Speicheradresse 0x800: Wo muss ich diese Adresse 
dann hinschreiben? An die "Vector Address" oder an die "Jump Table 
Address"?

MfG
#1575583
Lesenswert?

> Sprich wenn z.B. ein Interrupt des Timer2
> kommt, wo er dann nacheinander hin springt?

Es handelt sich um einen 68HC12.  Der holt sich die Adresse der 
Interrupt-Routine aus der Vektortafel und setzt (nach Abstacken und 
I-Flag setzen) direkt auf dieser Adresse die Ausführung fort.

Anders als z.B. beim AVR springt er also nicht auf eine feste Adresse, 
auf der dann ein jmp-Befehl steht, sondern holt sich die Adresse und 
macht ohne zwischengeschalteten jmp dort weiter.  (Und das I-Flag im 
Statusregister hat umgekehrte Bedeutung.)

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