X86 assembler in windows 7

Thread Starter

adrenalina

Joined Jan 4, 2011
78
Hello everybody. In my embedded systems class we are going to start by programming x86 processors in assembler. The professor told us that the program, I don't know which one, would not work in windows 7 only xp 32 bit. My question is if there is a way to run code for x86 assembler in windows 7 64bit for example with an emulator or something similar.
 

panic mode

Joined Oct 10, 2011
2,761
dosbox is emulator for DOS and therefore allows you to run DOS programs

if your software is windows application, it will not work in it. for that you can instal VirtualBox, create small virtual machine and in it install some older Windows OS such as Win2k or XP, whatever works for you.
 

takao21203

Joined Apr 28, 2012
3,702
Interesting. If you go to a PC shop here in my country, they don't have 32bit CPUs or mainboards on offer anymore for a number of years now.

There is no 64bit MASM (Visual Studio), it was phased out somehow.

There is a MASM32 project on the internet, I believe even if it is a Win32 program, it still works on 64bit Windows.

Nonetheless, the number of cases where x86 assembler is actually used professionally is declining. x86 Assembler turned out of fashion in the early 2000s already. If you learn all the bells and whistles of it, it is interesting for sure, but of little use.

Better learn GPU computing (look up developer.nvidia.com)
You may be wasting your time by dealing with x86 assembler.

You could always buy a cheap copy of Win XP and run dos programs on that.

As long as the mainboard supports it. New one's are all 64bit now. If you can not install drivers, at best you can start up Windows in safe mode. If you run it as virtual machine, at least as for my configuration (Win2008), you actually won't get USB support.

Ask your professor what exactly is it that should become learned by using x86 assembler. As I wrote, the latest trend is GPU computing.
 

panic mode

Joined Oct 10, 2011
2,761
we still don't have any reply from OP so we can only guess. some editions of Win7 (ultimate, Pro) allow virtualization. users of Home edition for example are out of luck. This is why i suggested using VirtualBox, it is nice and easy to use and works on variety of platforms. It allows running older OS like XP, etc or completely different one (linux, etc.). One more nice thing about it is that it does not matter what hardware you have, virtual machine uses virtual hardware so there is no compatibility issues.

attached is an example of Win7-64 running VM with XP and simple old DEBUG.EXE
 

Attachments

Thread Starter

adrenalina

Joined Jan 4, 2011
78
Thanks for all the help. Dosbox worked wonderfully and was able to use it with the A86 assembler. I think we are going to use MASM and the professor also told us that the best option is to install xp in a virtual machine. So I guess I'm going to have to do that.

@takao I'm also wondering the same thing. When I first walked into the class I was expecting to program microcontrollers, but the first handout is an x86 instruction list. wasn't expecting that. Later we are going to start with the MC9S12XD256 chip, but for now x86.
 

takao21203

Joined Apr 28, 2012
3,702
Thanks for all the help. Dosbox worked wonderfully and was able to use it with the A86 assembler. I think we are going to use MASM and the professor also told us that the best option is to install xp in a virtual machine. So I guess I'm going to have to do that.

@takao I'm also wondering the same thing. When I first walked into the class I was expecting to program microcontrollers, but the first handout is an x86 instruction list. wasn't expecting that. Later we are going to start with the MC9S12XD256 chip, but for now x86.
Hmm. The 80x86 is relatively comfortable to program. It is good to use for teaching for beginners to understand how software works on assembler level. However, the advanced x86 CPUs are not so easy to program (multitasking). You can look up the programming manuals, which are available on the internet. AMD also has them available for download.

These days assembler is no longer so much relevant to write end user applications.
 
Top