Mail Archives: djgpp/1997/02/10/22:25:46
On Fri, 07 Feb 1997 11:59:15 +0000, JuneSmith <106363 DOT 3644 AT compuserve DOT com>
wrote:
[snip]
> pregs.h.ah = 0x09;
> sregs.ds. = FP_SEG ( Message ); /* Get the var. */
> pregs.x.dx = FP_OFF ( Message ); /* addresses */
In FAQ section 18.2 (the same section you quoted), look at the description of
_dpmi_int() and the transfer buffer __tb (two underscores). Whenever you have a
pointer to memory for a DOS interrupt, it must be in conventional memory (under
1 megabyte). __tb works great for this purpose. If you must pass data to the
interrupt, copy the info to the buffer pointer to by __tb and call the interrupt
with _dpmi_int(). Once the interrupt is done, copy the contents pointed to by
__tb to your program's memory and continue on your way.
- Raw text -