assembly on xp

elieli22

Spaceman
I need help writing asm files with xp ..
the normal ms-dos does not work ..
dosbox works but i need to mount each time i execute it ..
and i need to put a file in lib before i start compiling

can someone help me ?
thanks eli
 
Depends on what assembly you're writing. You see, x86 is one of the worst platforms to write assembly on, and Windows one of the worst host OS's.

It's because on x86, and Windows especially, you can code in 16-bit real mode (more or less DOS style), 16-bit protected (Win16, or DOS plus DOS extender), or 32-bit protected (Win32, DOS plus 32-bit DOS extender). Windows supports all 3, in varying forms. Unfortunately, the x86 syntax and view is different in all 3 modes. Plus, the way you perform even basic I/O varies.

Now, if you're writing 16-bit real mode, you'd typically use BIOS int calls, most of which work fine under Windows. There will be a few Windows will trap out, though. And if you use a DOS extender, it's very likely it will *not* work at all.

Your options - either use 32-bit Windows protected mode assembly (you'll lose access to ring0 instructions and registers), or not do it under XP - probably something like Linux or such (with a saner 32-bit protected mode environment). If you must use XP, and 16-bit real mode code, DOS Box is the best, and if you read up on how to write the configuration file, you'll find you can get the mount done automatically (look up "autoexec" in the config file). Virtual PC/Bochs works great as well, if you need real DOS compatibility.

And there are some great Win32 asm programming courses on the web, too. Lookup "Art of Assembly". And all the major assemblers can spit out Win32 code - be it masm, tasm, nasm (netwide assembler), gas (GNU assembler), etc.
 
Back
Top