W specyficznym przypadku chcę powrócić z procedury nie do kodu, który ją wywołał, tylko do kodu, który wywołał kod ją wywołujący. Czyli jakby zrobić dwa RTS w jednym.
Nie mogę zrobić RTS, które wróci do RTS, które wróci tam gdzie chcę, gdyż w wyniku działania procedury to drugie RTS znika.
Przechodzę do pytania: Czy to, że w takim przypadku przed RTS wstawiam 2xPLA jest wystarczające?
Powinno, ale ja bym to zrobił inaczej; po prostu w specyficznym przypadku (kiedy chcesz wrócić do procedury nadrzędnej) skakał bym do tej podrzędnej przez JMP zamiast JSR :) Wtedy RTS wróci do nadrzędnej. Szybciej.
Edit: teraz naszła mnie refleksja, że to można zrobić, jeśli wiesz, że specyficzny przypadek wystąpił przed wywołaniem procedury podrzędnej, bo jeśli wiesz to dopiero w środku, to faktycznie plapla trzeba zrobić :)
Właśnie wiem dopiero w środku, tam zapada decyzja, czy w pamięci jest właściwy kod, czy też trzeba doczytać go z dysku (i tym samym nadpisać wywoływacza).