Du könntest beim Interrupt auch einen ICALL oder IJMP verwenden, dann mußt du aber schauen, daß das Z-Registerpaar immer mit der richtigen Sprungadresse geladen ist, es fällt also für normale Verwendung mehr oder weniger aus.

Du kannst auch einen normalen Interrupt Vector verwenden, der dann die aktuelle SPrungadresse irgendwo aus dem Ram holt, wo du sie vorher hingestellt hast.