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.
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,
hutch@pbq.com.au
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."