Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.msdos.djgpp > #1728

Is int86() designed and implemented correctly?

From "Rod Pemberton" <dont_use_email@xnohavenotit.cnm>
Newsgroups comp.os.msdos.djgpp
Subject Is int86() designed and implemented correctly?
Date 2014-02-15 05:16 -0500
Organization Aioe.org NNTP Server
Message-ID <op.xbbitrq95zc71u@localhost> (permalink)

Show all headers | View raw


For interrupts other than Int 21h, int86() calls _int86
in assembly which generates an interrupt in PM.  For
many, but not all, Int 21h sub-functions, int86() does
the same.  Supposedly, this is to allow installed PM
interrupt routines to execute.

However, there are thirteen Int 21h sub-functions
which have been extended for setting up pointers,
transfer buffer, return values etc within int86().
These thirteen sub-functions *do not* call the _int86
assembly routine which generates a PM interrupt.
Instead, int86() calls __dpmi_int() for them.
__dpmi_int() calls the DPMI host's simulate real mode
interrupt DPMI API call, thereby generating a RM
interrupt, instead of a PM interrupt.  Shouldn't these
extended Int 21h sub-functions have been designed to
call int86() to generate a PM interrupt?

Using __dpmi_int() would seem to *bypass* installed PM
ISR routines for those Int 21h sub-functions, calling
RM instead.  Is this correct?  Since it seems these
sub-functions can't be called in PM via DJGPP, how does
someone call installed custom ISRs for the thirteen Int 21h
sub-functions?  Does assembly need to be used to generate
a PM Int 21h interrupt directly?  Or, am I missing something,
like these get reflected back to PM somewhere, somehow?


Rod Pemberton

Back to comp.os.msdos.djgpp | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Is int86() designed and implemented correctly? "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-15 05:16 -0500
  Re: Is int86() designed and implemented correctly? Eli Zaretskii <eliz@gnu.org> - 2014-02-15 16:52 +0200

csiph-web