flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
rCX
Are there advantages of using exe insted of com executables?
|
|||
![]() |
|
revolution
rCX wrote: Are there advantages of using exe insted of com executables? A few to get you started: code+data>64kB, arbitrary entry point, pre-allocated segments, ... |
|||
![]() |
|
sinsi
And no.
|
|||
![]() |
|
revolution
Plus the things I mentioned in my posting above. But you have to reveal the hidden to see what I wrote.
|
|||
![]() |
|
rCX
revolution wrote: A few to get you started: code+data>64kB, arbitrary entry point, pre-allocated segments, ... Tomasz Grysztar wrote: The non-MZ .com executable file cannot be larger than 64K, so if you need to have more code there, you are forced to use the MZ format. So for programs smaller than 64Kb com files are okay... |
|||
![]() |
|
Tomasz Grysztar
revolution wrote: pre-allocated segments Well, the .com program has the memory segments following the program segment pre-allocated aswell. |
|||
![]() |
|
revolution
pre-allocated segment[ register]s? I don't remember if DOS does this or not.
Last edited by revolution on 25 May 2009, 15:47; edited 1 time in total |
|||
![]() |
|
revolution
rCX wrote: So for programs smaller than 64Kb com files are okay... |
|||
![]() |
|
Borsuc
Can't you just load an external .bin file with more code?
![]() |
|||
![]() |
|
revolution
Yes, it is known as runtime linking. Often they come as DLL files. But that is no longer a single .exe or .com file anymore.
|
|||
![]() |
|
neville
I use FASM to create "memory image" executables up to about 512K in size (DOS memory limit). These are (or could be) DOS .COM programs with CS=DS=ES=SS, IP=0100h, SP=0FFFEh etc.
They CAN be run in DOS but not directly from the command prompt (only because DOS checks for >64K size). Instead, they can be loaded into DEBUG or other compatible debugger and executed with the "g" command. _________________ FAMOS - the first memory operating system |
|||
![]() |
|
DOS386
rCX wrote: Are there advantages of using exe insted of com executables? YES. * For MZ EXE you can control stack location and size, for COM it's just SS=CS and SP=$FFFE * For MZ EXE you can control memory hogging, COM always hogs the complete biggest fragment * MZ has a Sigi and header, safer to recognize (but DOS is stupid and loads broken MZ's and even EXE's having no MZ at all - as COM) * You can include Win32 stuff into a MZ EXE, OTOH not into a COM * MZ can be > 64 KiB (but has fixups then ![]() revolution wrote: Nothing as usual ... or is it hidden again ![]() See: http://board.flatassembler.net/topic.php?t=9834 |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.