From: Hans-Bernhard Broeker 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: 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 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.