X86 assembler in windows 7

Discussion in 'Embedded Systems and Microcontrollers' started by adrenalina, Oct 10, 2012.

  1. adrenalina

    Thread Starter Active Member

    Jan 4, 2011
    78
    3
    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.
     
  2. nigelwright7557

    Senior Member

    May 10, 2008
    487
    71
  3. panic mode

    Senior Member

    Oct 10, 2011
    1,320
    304
    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.
     
  4. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    I think we are talking Turbo Assembler here. And that is for sure a DOS program.
     
  5. panic mode

    Senior Member

    Oct 10, 2011
    1,320
    304
  6. nigelwright7557

    Senior Member

    May 10, 2008
    487
    71
    You could always buy a cheap copy of Win XP and run dos programs on that.
     
  7. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,802
    832
    I think windows 7 let's you run a virtual XP box.
     
  8. takao21203

    Distinguished Member

    Apr 28, 2012
    3,577
    463
    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.
     
  9. panic mode

    Senior Member

    Oct 10, 2011
    1,320
    304
    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
     
  10. adrenalina

    Thread Starter Active Member

    Jan 4, 2011
    78
    3
    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.
     
  11. takao21203

    Distinguished Member

    Apr 28, 2012
    3,577
    463
    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.
     
Loading...