in source there is usually (.386 .486 .586 .686) one of those.
Im making small presentation from assembly and so on and that is only thing im not so sure off :/
So what does those do, what's the difference beetween .386 and .686?
is .686 better or faster?
I heard it has something to do with processor instructions, what is it exactly?
it simply allows you to use commands associated with the processor you're planning to code for
eg: say u had .386, you wouldn't be 'allowed' to use sse commands and so on...
Also if you use the appropriate listings command line argument to ML, it will print the instruction timings out.
This only applies to .586 and below though as the 686 architecture is out of order, and so the execution times are somewhat more complex.
evlncrn8 is right in principle, but a bad example sse, mmx, 3dnow etc, are done via separate model directives (.mmx, .sse etc.), try for example .386 and "bswap" (a 486 and above instruction). Or .586 and "cmov".
Mirno
This question comes up every once in a while, look through the reference material at MSDN...
http://msdn2.microsoft.com/en-us/library/8t163bt0(VS.71).aspx
http://www.masm32.com/board/index.php?topic=8293.0
http://www.masm32.com/board/index.php?topic=6554.0
http://www.masm32.com/board/index.php?topic=3481.0
Thanks, this is pretty much what i was looking for, and i only found the second link from search :P
Thank you all again!