Jump to content
  • Advertisement
Sign in to follow this  
godsenddeath

a few assembly questions

This topic is 3606 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i'm working through some x86 assembly, and i've got a couple of simple questions 1: what are the fundamental differences between binary(COM) and executable(EXE) files, what are the things i should consider when writing one or the other in regards to layout, needed sections,etc...? 2:are all BIOS interrupts availible when writing and running assembly in windows?(Vista 32bit) 3:pertaining to the first question, COM files use the flat memory model right? therefore no care is needed when it comes to segments? other than the memory limit, are there any other difference? thanks

Share this post


Link to post
Share on other sites
Advertisement
1. COM files don't have a header - It just starts with the first instruction to be executed. COM files are limited to under 64K total. EXE files are a lot more complex and don't have the 64K limit.

2. Not really. The NT-based windows kernels pretty much prevent you from using any of the BIOS stuff directly. However, you might be able to access that kind of stuff in a kernel mode driver. I'm no expert on drivers, so I can't say for sure.

3. COM files put everything in a single segment. So it feels a lot like flat memory model even if it's not exactly the same.

4. Just a convention I guess. The format is ancient, so there may have been a reason.

5. They both mean the same thing, but you usually only see 0x in C-based languages, and the 'h' suffix in assembly language.

Share this post


Link to post
Share on other sites
Quote:
Original post by godsenddeath
5:is there any difference between teh notations 0x05, and 0fh?

Yes, the former equals the value 5, wheras the latter equals the value 15.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!