delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/24/23:43:52

Date: Tue, 24 Mar 1998 20:43:40 -0800 (PST)
From: "Ben N. Shadwick" <bshadwic AT clark DOT edu>
To: djgpp AT delorie DOT com
Subject: passing & retrieving buffer thru interrupt
Message-ID: <Pine.HPP.3.96.980324204247.6520A-100000@csci.clark.edu>
MIME-Version: 1.0

Hello everyone! I've got a week off between college quarters, so I decided to
stop playing games for a while and start tinkering with some programming ideas
again =)

Anyways, I'm trying to call Int 14h function 1Bh (get FOSSIL driver info),
which requires that I pass the address of a small buffer (20 bytes or so) via
the es:di regs. However, the FAQ is rather unclear about how exactly I
should go about passing the address of the buffer and then be able to read
the changed contents.

It looks to me like using the __dpmi_int function is the easiest way to go,
but I'm not sure how to access the contents of the transfer buffer afterwards
(do I have to use the linear address seg/off of the buffer in go32_info_block,
treating them as a far pointer to physical memory or something, or is there an
easier way?)

Now that I've had to deal with it, I agree that the parts of the FAQ dealing
with interrupts and pointers to physical memory locations are confusing and
unclear, and that adding some example code would definitely be useful to
many people...

(in fact, what I could use right now are some good examples!)

Here is a summary of what I want to do (in order):

- Store the buffer address in es:di registers
- Assign proper values to other registers for calling the function
- Call the function
- Examine the contents of the buffer

Please send a copy of your replies to
(anti-spam; replace AT with @ and DOT with .)
bshadwicATcsciDOTclarkDOTedu

Thanks for helping me out!

- Raw text -


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