Hi!

26-Июн-2004 13:01 [EMAIL PROTECTED] (Paul Vojta) wrote to
[EMAIL PROTECTED]:

>>      I found the difference between FD-DEBUG and MS-DEBUG:
PV> Thank you very much for the additional information.  However, there's one
PV> bit of information missing.  I assume that your analysis was all done doing
PV> things such as:
PV>     C:\> debug
PV>     -a
PV>     1234:100 int 20
PV>     1234:102
PV>     -g

     Yes:

int 20
int 3

and

mov ax,4c00
int 21
int 3

PV> Basically, when you run debug without loading a program (as in the first
PV> snippet), you're asking the O/S to do something that doesn't make sense,
PV> since you're asking it to terminate a program when DEBUG isn't debugging
PV> any program.

     But there is child PSP and I don't understand why we should differ
"debugging program" (code is loaded from file) and "no program loaded"
(code entered manually or through "script").

PV> So MS-DEBUG's behavior makes sense, but it may leave DOS
PV> in an unstable state.

     I doubt. I compare memory content (with help of MEMA) before debug and
after INT21/4C (inside debug), and contents was identical. Moreover, I don't
know how (under MS-DOS) MS-debug traps INT20 (and says "Program terminated
normally").

     Also, child PSP have parent same as MS-debug' (usually command.com), so
INT21/4C (should) terminate child code and return to parent. But I don't
know, how MS-debug' traps this is exits itself. Probably, this happens
because MS-DEBUG sets INT22 before making child PSP? At least, dump of child
PSP (far address at PSP:0a) shows this.




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Freedos-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to