Difficulty: Easy
Correct Answer: Dependent: machine code is specific to the microprocessor ISA
Explanation:
Introduction / Context:
Machine language is the lowest-level software representation of instructions a specific CPU can execute. Different microprocessors implement different instruction sets, encodings, and execution semantics. This question probes whether you correctly identify machine code as CPU-specific rather than universal.
Given Data / Assumptions:
Concept / Approach:
Because opcodes are simply patterns of bits, they only gain meaning relative to a CPU’s decoder. An opcode that means “ADD” on one architecture could be invalid or mean something else on another. Therefore, machine language is inherently processor dependent. Portability requires recompilation/assembly for the target ISA or an emulator that translates foreign opcodes.
Step-by-Step Solution:
Verification / Alternative check:
Try to execute an 8085 binary on an 8051: the CPU will not interpret the opcodes correctly. Cross-assemblers generate different binaries for different targets from the same source, confirming dependence on ISA.
Why Other Options Are Wrong:
Common Pitfalls:
Assuming source code portability implies binary portability; ignoring endianness, calling conventions, and instruction encodings when moving binaries between architectures.
Final Answer:
Dependent: machine code is specific to the microprocessor ISA
Discussion & Comments