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 -