|
Perhaps you don't understand the situation. Microprocessors of differing type have different hardware circuitry. Some of the signals to drive these circuits are provided by software (machine code), along with some internal microcode. Machine code is produced by higher languages, such as assembler (generally very direct, often a direct mapping to machine code), as well as more abstract languages such as C, Fortran, you name it. These languages are tailored for a specific platform and ultimately emit machine code for the processor (even if via a virtual machine). Codes emitted for a given processor will not run on a non-compatible processor. This is the reason for cross-platform tools. It is also a reason for the existence of VMs, which do the "crossing" for you. The VMs, of course, have to be written for specific processors, also.
|