Try ".386" at the top of your source and then put a 586-dependant instruction, such as mov al, in the code. MASM 6.14.8444 goes ahead and assembles and links. The PE header says 14C (386) in the "machine-required" field. Only question left: will Windows try to run it on a 386! Could someone test? I don't have a 386 handy.
Posted on 2001-05-29 18:50:00 by Larry Hammick
Larry, You should not have any trouble with the .386 direcive unless you start using instructions and directives for later hardware.

    mov al, 
does not require later hardware. From practice I have found that you can safely assume .486 on anything that will run 32 bit windows and this allows you to use some of the later instructions and ALIGN 16 if you need it. To assemble MMX instructions which requires a P200 MMX or later, you need to use the .MMX assembler directive. .XMM allows you to build SIMD instruction code for a PIII or later. Regards,
Posted on 2001-05-29 19:59:00 by hutch--
Could someone test? I don't have a 386 handy.
Thats all i have to say.
Posted on 2001-05-29 22:43:00 by George
Hutch MMX instructions were available on a P166 as well :P My parents still have one! Plus SSE are/will be available on Athlon4 (Palomino). We've got a demo dual Palomino here in the office, now thats a magnificent beast! (It runs cool too). Nothing important obviously, its just I like to correct people who are better than me, it makes me feel big and clever. Mirno
Posted on 2001-05-30 04:57:00 by Mirno
I feel old. Sometimes I try to write for 8086 compatibility. I still have an obj which checks for at least 386, and politely exits if the chip isn't there. Of course, my intention here is just to have another laugh at Microsoft's expense. "MS MASM assembles and links inconsistent source, MS Windows tries to run it, and it crashes, har har."
Posted on 2001-05-31 16:19:00 by Larry Hammick