Note: This API call is for DOS personality only. Use Family API for portability.

2018/09/07 07:04 · prokushev

Int 28H


2 and higher



Family API


SS:SP = top of MS-DOS stack for I/O functions


 all registers preserved



  This interrupt is invoked each time one of the DOS character input
  functions loops while waiting for input.  Since a DOS call is in
  progress even though DOS is actually idle during such input waits,
  hooking this function is necessary to allow a TSR to perform DOS
  calls while the foreground program is waiting for user input.	 The
  INT 28h handler may invoke any INT 21h function except functions
  00h through 0Ch.

under DOS 2.x, the critical error flag (the byte immediately after the

  InDOS flag) must be set in order to call DOS functions 50h/51h from
  the INT 28h handler without destroying the DOS stacks.
calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
  handle which refers to CON
at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
  set to 01h; if larger, DOS is truly busy and should not be reentered
the default handler is an IRET instruction
supported in OS/2 compatibility box
the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
  this interrupt as superseded
the performance of NetWare Lite servers (and probably other peer-to-
  peer networks) can be dramatically improved by calling INT 28
  frequently from an application's idle loop

See Also

INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h


en/docs/dos/api/int28.txt · Last modified: 2021/08/06 09:45 by prokushev