Start
Multiplier0 = 1
1. Test
Multiplier0
Multiplier0 = 0
1a. Add multiplicand to product and
place the result in Product register
2. Shift the Multiplicand register left 1 bit
3. Shift the Multiplier register right 1 bit
No: < 4 repetitions
4th repetition?
Yes: 4 repetitions
Done
FIGURE 3.4 The first multiplication algorithm, using the hardware shown in Figure 3.3. If
the least significant bit of the multiplier is 1, add the multiplicand to the product. If not, go to the next step.
Shift the multiplicand left and the multiplier right in the next two steps. These three steps are repeated 32
times.
2. Using 4-bit numbers to save space, multiply 4 * 7, or
0100*0111. Use the algorithm outlined in the flowchart
in figure 3.4 and fill in what numbers, in the table, would
populate in the Multiplier, Multiplicand, and Product in
each step of each iteration.
Iteration Step
Multiplier Multiplicand Product
0
Initial Values
0111 0000 0100 0000 0000
1a: 1->Prod=Prod+Mcand
1
2. Shift left Mcand
3. Shift right Mult
2
1a: 1->Prod=Prod+Mcand
2. Shift left Mcand
3. Shift right Mult
3
4
1a: 1->Prod=Prod+Mcand
2. Shift left Mcand
3. Shift right Mult
1a: 1->Prod=Prod+Mcand
2. Shift left Mcand
3. Shift right Mult