Which one of the following statements is true?
View worked solution
Answer: A
To find the correct statement, let us analyze each option:
- Option A: Macro definitions cannot appear within other macro definitions in assembly language programs
In standard assembly language macro processors, while macro calls can be nested, nesting of macro definitions (defining a macro inside another macro definition) is generally not permitted. Thus, this statement is true. - Option B: Overlaying is used to run a program which is longer than the address space of a computer
Overlaying is a technique used to run programs that are larger than the available physical memory (RAM), not the logical address space. A program cannot exceed the maximum addressable space of the CPU. Thus, this statement is false. - Option C: Virtual memory can be used to accommodate a program which is longer than the address space of a computer
The size of virtual memory is strictly bounded by the logical address space of the computer (determined by the CPU's word size, e.g., bytes for a 32-bit architecture). A program cannot have an address space larger than what the processor can address. Thus, this statement is false. - Option D: It is not possible to write interrupt service routines in a high-level language
Interrupt Service Routines (ISRs) can indeed be written in high-level languages like C or C++ (often utilizing compiler-specific keywords like__interruptor inline assembly). Thus, this statement is false.
Therefore, the only true statement is A.
Free practice · Your answers on this page are not saved.
