while the counter is not equal to 0 do...
if the msb of multiplier is 0 then
add the multiplicand to the product
else add 0 to the product
shift the multiplier one bit left
subtract 1 from the counter
if the counter > 0 then
shift the product one bit to the left
while the counter is not equal to 0 do...
if the msb of multiplier is 1 then
add the multiplicand to the product
else add 0 to the product
shift the multiplier one bit left
subtract 1 from the counter
if the counter > 0 then
shift the product one bit to the left
while the counter is not equal to 0 do...
if the msb of multiplier is 1 then
add the multiplicand to the product
else add 0 to the product
shift the multiplier one bit left
add 1 to the counter
if the counter > 0 then
shift the product one bit to the left
while the counter is not equal to 0 do...
if the msb of multiplier is 1 then
add the multiplicand to the product
else add 0 to the product
shift the multiplier one bit left
subtract 1 from the counter
if the counter >= 0 then
shift the product one bit to the left