Talk:DOS executable (.com)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(compressed executable vs commandline program)
(fixed vs relative addressing?)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
 +
== fixed vs relative addressing? ==
 +
 +
re ''They can only use relative adressing'' - in 8086 mode, a memory address is either
 +
- relative within a segment,
 +
- absolute within a segment
 +
- absolute including a segment address
 +
 +
While it is unknown what segment a given COM file will be loaded into, it IS known (as specified) that it will be loaded from offset 0x100 into that segment. So intra-segment absolute addressing is perfectly valid. [[User talk:jonnosan|jonnosan]] 8:26 21 May 2013(UTC)
 +
 +
:That's true, the wording could be made slightly clearer. It's not relative vs. absolute addressing itself which is the problem. Relative and "intra-segment absolute" addressing differ only in the instruction opcode used, which the assembler chooses on its own, without the programmer specifying it. Of course, absolute references to fixed segments (c000:0, b800:0, etc.) are also possible in COM files. Feel free to rephrase it :) -[[User:Darkstar|Darkstar]] ([[User talk:Darkstar|talk]]) 18:35, 21 May 2013 (UTC)
 +
 
== compressed executable vs commandline program ==
 
== compressed executable vs commandline program ==
  

Latest revision as of 18:35, 21 May 2013

[edit] fixed vs relative addressing?

re They can only use relative adressing - in 8086 mode, a memory address is either - relative within a segment, - absolute within a segment - absolute including a segment address

While it is unknown what segment a given COM file will be loaded into, it IS known (as specified) that it will be loaded from offset 0x100 into that segment. So intra-segment absolute addressing is perfectly valid. jonnosan 8:26 21 May 2013(UTC)

That's true, the wording could be made slightly clearer. It's not relative vs. absolute addressing itself which is the problem. Relative and "intra-segment absolute" addressing differ only in the instruction opcode used, which the assembler chooses on its own, without the programmer specifying it. Of course, absolute references to fixed segments (c000:0, b800:0, etc.) are also possible in COM files. Feel free to rephrase it :) -Darkstar (talk) 18:35, 21 May 2013 (UTC)

[edit] compressed executable vs commandline program

Thanks for fixing the initial page. My source, a paper about the file utility mentioned .com files being compressed executables. Guess I should cite more... Maurice.de.rooij (talk) 07:28, 6 December 2012 (UTC)

Ah, yes, that seems a bit wrong (unless they talk about some other, specific COM file). I wanted to add COM some time ago anyway (when I did EXE), but it somehow got lost due to my being busy recently. I just happened to notice it in the "recent changes" and fixed it. On some unrelated note, why can't we delete (or move/rename) any pages? There are a few now that are blanked because they were moved. Is delete/move only for administrators? --Darkstar (talk) 17:22, 6 December 2012 (UTC)
"Move" exists in the pull-down menu to the right of "View history". I think "Delete" is reserved for admins, though. Dan Tobias (talk) 18:16, 6 December 2012 (UTC)
There seems not to exist such thing as compressed executable COM file, after an extensive search on the Google. Because the source was a university paper, I wrongly assumed that it didnt need verification. Another lesson learned... Maurice.de.rooij (talk) 18:37, 6 December 2012 (UTC)
Ah, indeed, I didn't see the "move" up there. Could have made my editing a bit more transparent. --Darkstar (talk) 22:22, 6 December 2012 (UTC)
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox