www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/29/05:32:49

Date: Sun, 29 Mar 1998 13:28:57 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: "Ben N. Shadwick" <bshadwic AT clark DOT edu>
cc: djgpp AT delorie DOT com
Subject: Re: passing & retrieving buffer thru interrupt
In-Reply-To: <Pine.HPP.3.96.980326092508.26188A-100000@csci.clark.edu>
Message-ID: <Pine.SUN.3.91.980329132801.14969K-100000@is>
MIME-Version: 1.0

On Thu, 26 Mar 1998, Ben N. Shadwick wrote:

> I am using whatever version the HTML version on DJ's server is.

That *is* the latest version.

> The only
> example code pertaining to passing the address of a buffer shown is how to
> stuff the address of the DPMI transfer buffer into the es:di register pair.

Section 18.4 (which is one of the two I mentioned) begins with the
following question:

  **Q*: How can I move data between my program and the transfer buffer?*

and then goes on to explain how to copy data in and out of the
transfer buffer.  Specifically, it mentions library functions
`_farpeekX' and `_farpokeX', `dosmemget' and `dosmemput', and
`movedata'.  I believe these are the functions you need.

> 1) perhaps the amount of feedback you have received on certain areas of
>    the FAQ might indicate that some improvements to those areas would be
>    helpful.

I always try to do my best to incorporate any suggestions and address
any feedback I get.  But please note that for this I need more
specific feedback than just ``it's confusing''.  I usually do my best
in explaining things as clearly as I can, so asking me to ``improve''
it doesn't help.  I need specific references to specific paragraphs
with some indication of *why* is it unclear or confusing; then I can
sit down and try to rephrase, or to add what seems to be missing.

> 2) if a "tutorial" is what is required to find out how to do what I am
>    asking, please point me to one.

Shawn already mentioned the User's Guide.  If the section there that
deals with these issues is incomplete or in a need of improvement,
please suggest them to the Guide maintainer.

> I don't see anything on how to access the contents of the DPMI transfer
> buffer after passing its linear address to an interrupt service.

The second half of section 18.4 should explain that.  If it doesn't,
please tell what is missing there.

> As for the int86x function, what are the SREGS for? Could someone give me
> an example of how I would pass the address of a variable via the es:di
> register pair to an interrupt service via the int86x function?

Don't use `int86x' for that, use `__dpmi_int'.  `int86x' is not
general enough in the protected-mode environment, and will almost
surely get you into trouble.  It should be only used for a small
number of functions supported by it (see the library docs for a list,
if you need it).

- Raw text -


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