The following diagram describes an implementation of the mul

The following diagram describes an implementation of the multiplication of two 32-bit unsigned integers. These two integer inputs are stored respectively, in register A and register B. The result is temporarily stored in register C, which should be large enough to capture all the bits that result from the multiplication. In terms of the number of bits, what are the size requirements of registers A, B and C? Why? You may use the table below to organize your answer. If the result of the multiplication is to be casted back to a 32-bit unsigned integer, how to detect overflow\' based on the value stored in register C? Explain.

Solution

a.

b.

the two 32 bit integers may be multiplied to produce a 64 bit product in two 32 bit words, HI and LO, which hold the most and least significant 32 bits of the product, respectively.

or else we can use the umull instruction to detect the overflow.

component size explanation
Register A 32 as 32 bit input is given ,it requires 32 bit
Register B 32 as 32 bit input is given ,it requires 32 bit
Register C 64 the product of two n unsigned register requires 2n bit register.so it is 64bit
 The following diagram describes an implementation of the multiplication of two 32-bit unsigned integers. These two integer inputs are stored respectively, in r

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site