This is an old revision of the document!
Table of Contents
Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
Int 21H, AH=25H
Version
1 and higher
Brief
SET INTERRUPT VECTOR
Family API
Input
AH = 25h
AL = interrupt number
DS:DX -> new interrupt handler
Return
none
Notes
this function is preferred over direct modification of the interrupt
vector table
some DOS extenders place an API on this function, as it is not
directly meaningful in protected mode
under DR DOS 5.0-6.0, this function does not use any of the
DOS-internal stacks and may thus be called at any time; however,
under Novell DOS 7.0 - DR-DOS 7.02, this function was not reentrant.
Since 1998/05/29, DR-DOS 7.03 no longer uses any internal stacks and
tests for this function much earlier, to allow a minimal stack usage
of just two words in addition to the IRET frame, allowing it to be
called from INT 21h functions, specificially device drivers. This
fixes the MCS SMB client
Novell NetWare (except the new DOS Requester) monitors the offset of
any INT 24 set, and if equal to the value at startup, substitutes
its own handler to allow handling of network errors; this introduces
the potential bug that any program whose INT 24 handler offset
happens to be the same as COMMAND.COM's will not have its INT 24
handler installed
See also
AX=2501h,AH=35h
Note
Text based on Ralf Brown Interrupt List Release 61
| osFree Macro Library | |
|---|---|
| Video I/O | @SetMode @SetCurSz @SetCurPos @GetCur @SetPage @ScrollUp @ScrollDn @Scroll @GetChAtr @PutChAtr @PutCh @SetPalet @SetColor @SetDot @GetDot @WrtTTY @VideoState @GetMode @GetDisplay @GetVideoState @GetEGAInfo @Cls |
| Hardware info | @Equipment @MemSize |
| Serial I/O | @AuxInit @AuxSendChar @AuxRecieveChar @AuxStatus |
| Tape I/O | @TapeOn @TapeOff @TapeRead @TapeWrite |
| Keyboard I/O | @KbdStatus @CharIn @CharPeek |
| Printer I/O | @PrnPrint @PrnInit @PrnStatus |
| Disk I/O | @DskReset @DskStatus @DskRead @DskWrite @DskVerify @DskFormat |
| Date and Time | @SetTime @GetTime |
| Mouse | @MouInit @MouShowPointer @MouStatus @MouSetPos @MouSetMickey @MouRegion |
| Memory manager | @ModBlok SET_BLOCK |





