Machine-translated by Google. Questions are authored in English.
Top

Discussion

Consider a processor P whose instruction set architecture is the load-store architecture. The instruction format is such that the first operand of any instruction is the destination operand.

Which one of the following sequences of instructions corresponds to the high-level language statement Z = X + Y ?

Note: X, Y, and Z are memory operands. R0, R1, and R2 are registers.

  • A.ADD Z, X, Y
  • B.LOAD R0, X / ADD Z, R0, Y
  • C.ADD R0, X, Y / STORE Z, R0
  • D.LOAD R0, X / LOAD R1, Y / ADD R2, R0, R1 / STORE Z, R2

Answer: D

The correct sequence is LOAD R0, X / LOAD R1, Y / ADD R2, R0, R1 / STORE Z, R2.

In a load-store architecture only LOAD and STORE may access memory; arithmetic instructions work on registers only. So both operands must first be loaded into registers, added register to register, and the result stored back to Z.

ADD Z, X, Y uses three memory operands. 'LOAD R0, X / ADD Z, R0, Y' still has the ADD reading Y from memory and writing Z to memory. 'ADD R0, X, Y / STORE Z, R0' has the ADD reading X and Y from memory. Each breaks the load-store rule.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.