Okay so I have been learning ASM, went with the NASM flavor just to get my feet wet with it. Now that I know how the C and ASM can interact, I have a question on the process of creating an .exe for this example win32.
So you write a C or C++ program in some fancy compiler. The compiler takes the source and runs various passes... and is one of those passes, taking the source to ASM code and then running an ASM assembler on that code to get machine code?
Isn't machine code CPU specific? If you compile a C++ program using an AMD processor can it run on an intel processor?
Does the win32 executable make it to machine code or just an assembler version?
I know C# exe's need the CLR to run them so they must be processor independent like java.
If you can give some incite, I would be happy to listen.



