Jump to content
  • Advertisement
Sign in to follow this  
jdub

Beginning X86 assembly

This topic is 3732 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 Looking to do a bit of x86 assembly language using the book "Assembly Language Step by Step" by Jeff Duntemann. My questions: 1) I am running a T7300 Duo core computer and I am wondering how having 2 cores will change assembly programming? 2) I am running Windows Vista Premium 32bit. Will I still be able to program with the Real Mode Segmented model of memory?

Share this post


Link to post
Share on other sites
Advertisement
1) It won't, the number of cores only affects multithreading.
2) No, all modern operating systems disable that.

Share this post


Link to post
Share on other sites
Dang. Could I program in segmented mode by emulating DOS through the command line tool or just not at all?

Share this post


Link to post
Share on other sites
Quote:
Original post by jdub
Dang. Could I program in segmented mode by emulating DOS through the command line tool or just not at all?


If you want to compile into a 16 bit DOS executable, sure, you could do it. The question though is why would you?

While I realize the book you're using covers DOS (hence, why it would use real mode), use it as a stepping stone to learning the basics about 8086 assembly. It's missing a lot of necessary information you'd need to get a good grasp, but for a starting point, I think you could do just fine without the need to access real mode. Once you see that you need the memory, ask yourself, is using assembly the correct approach (more often than not, it isn't), and if it is, is it time to step up to a modern version of x86 assembly?

Remember, machines change, and even basic instructions such as MOV change with the machines. IE: Where once MOV for specific instructions might have been better, on newer machines, LEA can do the job better.

Share this post


Link to post
Share on other sites
Quote:
Original post by jdub
Dang. Could I program in segmented mode by emulating DOS through the command line tool or just not at all?

YMMV but it's going to be hit or miss but at least some of it may work unlike 64bit editions that don't support NTVDM at all!


Q10 Why can't I write directly to video memory under Windows NT, 2000, or XP?
These versions of MS-Windows run MS-DOS applications in Virtual-8086 mode, which is a variant under Protected mode. In this mode, you cannot write directly to video memory. However, you can write to video memory when running Windows 95, 98, and Millenium.


The other workaround, as other posters suggested, is to use a DOS emulation
such as Virtual PC or DosBox.

Share this post


Link to post
Share on other sites
Good luck with it all!

I used to love programming in assembly in the late 80's on my C64 and then later on x86 based systems.

Those were the days! :)

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!