delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/12/10/07:10:09

From: ido_b AT my-deja DOT com
Newsgroups: comp.os.msdos.djgpp
Subject: __dpmi_allocate_dos_memory causes program to abort
Date: Fri, 10 Dec 1999 10:45:48 GMT
Organization: Deja.com - Before you buy.
Lines: 29
Message-ID: <82qlkr$lfp$1@nnrp1.deja.com>
NNTP-Posting-Host: 212.25.87.118
X-Article-Creation-Date: Fri Dec 10 09:43:53 1999 GMT
X-Http-User-Agent: Mozilla/4.0 (Windows 95;US) Opera 3.60 [en]
X-Http-Proxy: 1.0 x35.deja.com:80 (Squid/1.1.22) for client 212.25.87.118
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

hi,

I read chapter 18 of the FAQ and didn't fully understand how to use software
interrupts from within my program. I used something like: __dpmi_regs regs;

regs.x.ax = ...
...

__dpmi_int(..., &regs);


but I need to pass a memory address of a buffer in DS:SI.
I cannot use FP_SEG and FP_OFF, so I tried
__dpmi_allocate_dos_memory  in order to get the segment.
when I call that function like this:
__adpmi_raddr adr;

adr.segment =
  __dpmi_allocate_dos_memory, it sends an abort signal and exits;

1. What's wrong with my code?
2. Is there a better way to do this?

Thanks, in advance,
Ido.


Sent via Deja.com http://www.deja.com/
Before you buy.

- Raw text -


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