Hallo
Da Du den Zeitpunkt des Interuptes nicht kennst, weißt Du auch nicht aus welchem Unterprogramm die Routinen gerade 'herausgerissen' wurden.
Du müßtest also feststellen , ob der Interrupt in einem Unterprogramm oder im Hauptprogramm erfolgte und dementsprechend den Stack zurücksetzen sowie die Adresse, an der das Programm landen soll auf den Stack legen.Das alles in der Interruptroutine.Mit dem RETI holt er sich die abgelegte Adresse vom Stack und macht da weiter.
Mit freundlichen Grüßen
Benno