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.
Larry, You should not have any trouble with the .386 direcive unless you start using instructions and directives for later hardware.
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, email@example.com
Could someone test? I don't have a 386 handy.Thats all i have to say.
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
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."