Difficulty: Easy
Correct Answer: F8
Explanation:
Introduction / Context:
Assemblers support pseudo-operations (pseudo-ops) that direct data placement without generating CPU opcodes. The “.BYTE” directive reserves one byte and initializes it with a specified value. Understanding numeric bases in assembler syntax is crucial for correct binary images.
Given Data / Assumptions:
Concept / Approach:
Translate the constant exactly as written. Hexadecimal F8 corresponds to decimal 248 and binary 11111000. The assembler emits this one byte into the output at the current location counter.
Step-by-Step Solution:
1) Recognize directive: “.BYTE” → allocate 1 byte.2) Read constant: “h#F8” → hexadecimal F8.3) Emit value: the generated machine data is 0xF8.4) Present in hex form as required: “F8”.
Verification / Alternative check:
Convert F8 hex to decimal: 15*16 + 8 = 248. In binary: 11111000 (8 bits), matching a single byte size.
Why Other Options Are Wrong:
“0111EF” and “F8 16” are malformed or multi-byte sequences. “03 16” represents two bytes. “42 65 61 72” are ASCII for “Bear,” unrelated to the directive.
Common Pitfalls:
Confusing directives that emit multiple bytes (e.g., .WORD) with .BYTE, or misreading the base prefix leading to an incorrect numeric value.
Final Answer:
F8
Discussion & Comments