www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/04/07/13:50:24

From: Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: HELP! : Debugging a c/asm mixed programs
Date: 7 Apr 2000 14:01:01 GMT
Organization: Aachen University of Technology (RWTH)
Lines: 27
Message-ID: <8ckpmt$bln$1@nets3.rz.RWTH-Aachen.DE>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1000404140432 DOT 9459N-100000 AT is>
NNTP-Posting-Host: acp3bf.physik.rwth-aachen.de
X-Trace: nets3.rz.RWTH-Aachen.DE 955116061 11959 137.226.32.75 (7 Apr 2000 14:01:01 GMT)
X-Complaints-To: abuse AT rwth-aachen DOT de
NNTP-Posting-Date: 7 Apr 2000 14:01:01 GMT
Originator: broeker@
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> wrote:

>> detect_dpmi_ok1:
>>         mov     [dosmem_selector],dx ; here FSDB throws
>> exception 0x3030 or 0x3036
>>         mov     [dosmem_segment],ax

> Does the problem happen when you single-step through this instruction,
> or even if you let the program run freely?

This rang a bell, to me: The problem might well be that FSDB tries to
display all data referenced in the current instruction, in one of the
top lines of the screen. I.e. if the current machine instruction is

	mov [dosmem_segment],ax

it'll try to display what currently is found at address
[dosmen_segment]. Or something like that. I don't remember all the
details offhand without having a system at hand to test them on...

*If* the current instruction is using a segment override prefix, which
it doesn't understand, FSDB will look in the wrong place, and the
offset may well be out of bounds of the datasegment it assumes. And
bang, it crashes.
-- 
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.

- Raw text -


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