Difficulty: Easy
Correct Answer: Incorrect
Explanation:
Introduction / Context:
Machine language is the lowest-level programming representation: the exact bit patterns that a CPU decodes into actions. Whether those bit patterns are portable across different processors is a critical concept for cross-platform development and binary compatibility.
Given Data / Assumptions:
Concept / Approach:
Machine language is inherently architecture-specific. A binary compiled for one ISA (e.g., ARM, x86, RISC-V) is not understood by a different ISA because the opcode encodings and instruction semantics differ. Portability is achieved by recompiling source code for the target ISA or by using emulation/translation layers, not by reusing the same machine code bits.
Step-by-Step Solution:
Verification / Alternative check:
Attempting to execute x86 binaries on ARM without translation fails; cross-compilation produces new machine code tailored to the target ISA. This confirms architecture dependence.
Why Other Options Are Wrong:
RISC vs CISC is irrelevant to the portability fact. Recompilation changes the machine code, not its independence. Endianness alone does not harmonize different opcodes.
Common Pitfalls:
Confusing portability of high-level source with portability of binaries; assuming shared endianness or OS ABI implies instruction compatibility.
Final Answer:
Incorrect
Discussion & Comments