IBM System/370 assembler programming: which statement accurately characterizes a capability of the assembler language concerning address formation?

Difficulty: Medium

Correct Answer: It allows the programmer to write base registers and displacements explicitly in the source program

Explanation:


Introduction / Context:
On IBM System/360/370-class architectures, addressing frequently uses a base register plus displacement. Assembler language exposes these details directly, giving the programmer precise control over which register serves as a base and what displacement is used for an operand. This question checks familiarity with that low-level capability.


Given Data / Assumptions:

  • Context is System/370 assembler, not high-level languages.
  • We are discussing how effective addresses are specified.
  • Other listed statements mix OS concepts or runtime environment features unrelated to the assembler syntax per se.


Concept / Approach:
System/370 assembler operands often take the form D(B), meaning an effective address computed as displacement D added to the contents of base register B. Programmers explicitly choose B (and sometimes index registers) and write the displacement in the source code. This is a hallmark of low-level control in assembler programming.


Step-by-Step Solution:
1) Identify that the question asks about assembler language features, not OS features.2) Recall assembler operand formats such as D(B), D(X,B), where B is a base register.3) Conclude that the capability to specify base registers and displacements explicitly belongs to the assembler.


Verification / Alternative check:
Any System/370 assembler reference shows instruction formats where operands explicitly include base and displacement fields (e.g., using USING directives to establish base assumptions and explicit D(B) in operands), confirming this behavior.


Why Other Options Are Wrong:

  • Refers to control programs: That is terminology about the OS, not assembler syntax.
  • “Remember which registers are available”: Register allocation tracking is a programmer's or assembler's convenience but not the defining capability highlighted; the key is that code explicitly states B and D.
  • Multiple programs resident: That is a memory management/OS feature (multiprogramming), not assembler language capability.
  • None of the above: Incorrect; option D is correct.


Common Pitfalls:
Conflating assembler features with OS facilities (e.g., multiprogramming) leads to incorrect associations. Keep the scope to source-level operand specification.


Final Answer:
It allows the programmer to write base registers and displacements explicitly in the source program.

More Questions from Language Processors

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion