HomeBIOSDie Ein-/Ausgabekanäle des BIOSDie Systemvariablen

3.3 Einklinken in den Reset-Vektor

Das Kochrezept, um eigene Funktionen in den Reset-Vektor einklinken zu können, lautet wie folgt:

Wichtig: Ein Rücksprung per rts aus der installierten Funktion ist nicht möglich, da zu diesem Zeitpunkt noch kein Stack initialisiert ist. In der Praxis könnte man z.B. so vorgehen:

RESMAGIC    equ       $31415926
_resvalid   equ       $426
_resvector  equ       $42a

            .text
install:    move.l    _resvalid,oldvalid
            move.l    #RESMAGIC,resvalid
            move.l    _resvector,oldreset
            move.l    #newreset,_resvector
            rts

            dc.b      "XBRARESV"
oldreset:   dc.l      0

newreset:   move.l    oldreset,_resvector
            move.l    oldvalid,_resvalid
            jmp       (a6)

            .bss
oldvalid:   .ds.l     1

Achtung: Damit sich mehrere Programme installieren können, muß nach Abarbeitung der Funktion eine saubere De-Installation erfolgen.

Querverweis: Systemvariablen   Systemvektoren   XBRA-Verfahren


HomeBIOSDie Ein-/Ausgabekanäle des BIOSDie Systemvariablen