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?