Czy chodzi o to że chcesz się wpiąć pomiędzy istniejące XBRA?
Jeśli tak, to załóżmy że są zainstalowane dwa XBRA, czyli wyglądają tak:
Pierwszy XBRA:
.even
XBRAmagic:
dc.b "XBRA"
XBRAid:
dc.b "PxID"
Pierwsze_stary_wektor:
dc.l XBRA_System
Pierwsze_XBRA:
; XBRA routine here.
move.l Pierwsze_stary_wektor,a0
jmp (a0)
Drugi XBRA:
.even
XBRAmagic:
dc.b "XBRA"
XBRAid:
dc.b "DrID"
Drugie_stary_wektor:
dc.l Pierwsze_XBRA
Drugie_XBRA:
; XBRA routine here.
move.l Drugie_stary_wektor,a0
jmp (a0)
I teraz jak chcesz się wpiąć między nie, to Twoje XBRA powinno wyglądać tak:
.even
XBRAmagic:
dc.b "XBRA"
XBRAid:
dc.b "MyID"
Moje_stary_wektor:
dc.l Pierwsze_XBRA
Moje_XBRA:
; Your routine here.
move.l Moje_stary_wektor,a0
jmp (a0)
Na koniec, tylko podmianka w "Drugi XBRA" zmiennej "Drugie_stary_wektor" - skopiowanie starej zawartości do siebie i wstawienie swojego adresu XBRA:
move.l Drugie_stary_wektor,Moje_stary_wektor
move.l #Moje_XBRA,Drugie_stary_wektor