Hi!

16-Сен-2004 01:19 [EMAIL PROTECTED] (Aitor Santamarэa Merino) wrote to
[EMAIL PROTECTED]:

>>bad idea. COM2EXE cannot detect de-UPX-ed size! So the exe header
>>will tell how much space the compressed COM needs. But the whole idea
>>of using COM2EXE was to let DOS know the de-UPX-ed size explicitly:
ASM> As far as I recall, the idea of using COM2EXE is that there is a bug in
ASM> kernel about loading high COM programs that resize their chunks (when

     No. Idea of using COM2EXE is that _MS-DOS_, when loads .COM file into
UMB (with LH), not necessarilly allocates (more than) 64k, if there is no
enoughly big block (for example, there remained only 30k free). _And_, if
program doesn't check how much of memory it have (for example, by examining
value of SP), then it may/will overwrite own stack and following memory in
this case (of reduced block).

     On the other side, DOS doesn't know how much of memory .COM program
_really_ need (it not necessarily need all 64k), so it allocates biggest UMB
block.

     So, COM2EXE allows to simplify program (not need to check available
memory) and optimize program loading (it will/may be loaded into best suited
block, not into biggest).

ASM> there is no room, it aborts instead of loading low), and to avoid this
ASM> problem. The experiments by Bernd showed that under MS-DOS it works fine
ASM> (a growing COM file).




-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to