Apparently WIne doesn't support 16bit DOS apps. Anyone know how to Get MASM intel-style assembly working in wine?
Have you tried using NASM? It's free, open source, supports Intel-like syntax similar to MASM [which I admit, I've never used], and works on pretty much every x86 platform, including Windows, Linux, BSD, etc.
On your typical Linux distribution or BSD ports tree, it's probably already packaged and ready to go. (Provided you apt-get
, pkgadd
, or whatever.)
The solution of your problem is probably there:
http://www.japheth.de/JWasm.html
It's a MASM syntax compatible open source assembler (close to 100%, including the most bizarre MASM addressing syntax cases, the structured programming pseudo-ops, macros and the like).
It can generate Intel OMF, MS Coff (32- and 64-bit), Elf (32-and 64-bit), Bin and DOS MZ.
And it exists as DOS, Windows and Linux binaries.
And it can even be built to OS/2, FreeBSD.
So you then have the maximum number of combinations of assembler and target binary, including those were everything happens under native Linux.
If you compile to 16-bit code, you'll have to execute it in a 16-bit environment, meaning one of the suggestions you already got.
But you might also be able to compile 16-bit syntax to 32-bit mode code, depending on what you are trying to do. So you might be able to execute 16-bit algorithms in 32-bit modes, executing natively in 32-bit environments, like the x86 architecture allows. The generated code will be larger, though, since the assembler will generate 16-bit escape codes ahead each 16-bit instruction, but this is OK if it's just a matter of testing the logic of your 16-bit code.
I hope this makes sense to you. If it didn't, ask for more...