On Exit:
AH
=
Return Status Code
a
=
RS__SUCCESSFUL
OX
=
OS from table
ES:OI
=
CS:IP from table
Registers Altered:
AH, BP, OS, ES, DI, DX
Example: Replace the EX-BIOS V__SVIOEO vector (54H).
MOV
MOV
MOV
MOV
MOV
MOV
MOV
PUSH
INT
POP
MOV
MOV
MOV
BP, V __ SYSTEM
AH, F__INS-XCHGFIX
BX, V __ SVIOEO
01, CS
ES,OI
01, offset NEW_VIDEa_ROUTINE
OX, OS
OS
HP__ENTRY
OS
OLO_CS, ES
OLO__IP,OI
OLD_OS, OX
,. HP vector 12H.
,. Function 06H
,. HP vector 54H
,. Get CS, IP and OS of new
,. video routines.
,. EX-BIOS Destroys OS
,. Int 6FH for EX-BIOS .
,. Save old CS, IP and OS
,. just in case we need to
,. put them back
F__INS->(CHGRSVD
(AH = 08H)
Exchanges the values in the registers for the next reserved entry in the HP_VECTOLTABLE. If a
reserved vector is not available the function returns the RS_NO_VECTOR error code.
On Entry:
BP
=
V_SYSTEM (12H)
AH
=
F _INSJCHGRSVO (a8H)
DX
=
OS to be exchanged
ES:DI
=
CS:IP to be exchanged
On Exit:
AH
=
Return Status Code
a
=
RS_SUCCESSFUL
OF6H
=
RS_NO__VECTOR
BX
=
Vector address
OX
=
DS from table
ES:DI
=
CS:IP to be exchanged
Registers Altered:
AH, BP, DS, BX, ES, DI, DX
292
System Drivers
Need help?
Do you have a question about the Vectra and is the answer not in the manual?