www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2014/02/15/05:30:19

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: "Rod Pemberton" <dont_use_email AT xnohavenotit DOT cnm>
Newsgroups: comp.os.msdos.djgpp
Subject: Is int86() designed and implemented correctly?
Date: Sat, 15 Feb 2014 05:16:29 -0500
Organization: Aioe.org NNTP Server
Lines: 29
Message-ID: <op.xbbitrq95zc71u@localhost>
NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse AT aioe DOT org
User-Agent: Opera Mail/12.16 (Linux)
X-Notice: Filtered by postfilter v. 0.8.2
Bytes: 2070
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019