www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/08/27/23:19:31

Date: Sat, 27 Aug 94 21:45:48 EDT
From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock)
To: dliu AT faraday-gw DOT njit DOT edu
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: dpmi.asm bug?
Reply-To: babcock AT cfa DOT harvard DOT edu

> Hi, I tried to run go32 in dosemu under linux, with dpmi enabled. go32
> reports 0 KB dpmi memory. so I lokked into dpmi.asm, I found in the
> function _DPMImaxmem, there is something like
> 
>         mov     ax,0500h                        ; Get Free Memory Information
>         mov     di, offset maxmem_buffer
>         int     31h
>  
> Should it be "mov  edi,offset maxmem_buffer"? because go32 is a 32bit
> client.

The DPMI 0.9 spec says
   Some implementations  of DPMI  can run 32-bit 80386 specific
   programs.   DPMI functions  that take pointers as parameters
   will use  the extended  32-bit registers  for  offsets  (for
   example, ES:EDI  instead of  ES:DI) when running 32-bit mode
   programs.   The high  word of  the 32-bit  registers will be
   ignored when running 16-bit protected mode programs.

I think this means you are right, but I'm not sure.  Are there any "DPMI
lawyers" out there?

- Raw text -


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