D] An integer arithmetic unit that can perform addition and multiplication of 16-bit unsigned numbers is to be used to multiply two 32-bit unsigned numbers. All operands, intermediate results, and final results are held in 16-bit registers labeled R0 through R15. The hardware multiplier multiplies the contents of Ri (multiplicand) by Rj (multiplier) and stores the double-length 32-bit product in registers Rj and Rj+1, with the low-order half in Rj. When j = i − 1, the product overwrites both operands. The hardware adder adds the contents of Ri and Rj and puts the result in Rj. The input carry to an Add operation is 0, and the input carry to an Add-with-carry operation is the contents of a carry flag C. The output carry from the adder is always stored in C. Specify the steps of a procedure for multiplying two 32-bit operands in registers R1, R0, and R3, R2, high-order halves first, leaving the 64-bit product in registers R15, R14, R13, and R12. Any of the registers R11 through R4 may be used for intermediate values, if necessary. Each step in the procedure can be a multiplication, or an addition, or a register transfer operation.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter2: Problem Solving Using C++using
Section2.5: Variables And Declaration Statements
Problem 10E
icon
Related questions
Topic Video
Question
D] An integer arithmetic unit that can perform addition and multiplication of 16-bit unsigned numbers is to be used to multiply two 32-bit unsigned numbers. All operands, intermediate results, and final results are held in 16-bit registers labeled R0 through R15. The hardware multiplier multiplies the contents of Ri (multiplicand) by Rj (multiplier) and stores the double-length 32-bit product in registers Rj and Rj+1, with the low-order half in Rj. When j = i − 1, the product overwrites both operands. The hardware adder adds the contents of Ri and Rj and puts the result in Rj. The input carry to an Add operation is 0, and the input carry to an Add-with-carry operation is the contents of a carry flag C. The output carry from the adder is always stored in C. Specify the steps of a procedure for multiplying two 32-bit operands in registers R1, R0, and R3, R2, high-order halves first, leaving the 64-bit product in registers R15, R14, R13, and R12. Any of the registers R11 through R4 may be used for intermediate values, if necessary. Each step in the procedure can be a multiplication, or an addition, or a register transfer operation.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr