Home ] Up ] Combinatorial Multipliers ] Multiply Constants ] [ Sequential Multipliers ]
Sequential Multipliers

Up ]

 

 

 

 
 

Please note - the code inspired from the old assembler programs I used to write and it saves space by reusing F/Fs
In the example will the number 5 = 0101(binary) disappear to the left and the if a bit=1 was the most significant will the other number 3 = 0011 be added to the 8 bit Produkt register.

  80(dec) = 01010000(binary) actually 5*16=80
160(dec) = 10100000(binary)                             MSb = 0  => Shift left
  67(dec) = 01000011(binary)                             MSb = 1  => Shift left and add 0011
134(dec) = 10000110(binary)                             MSb = 0  => Shift left
  15(dec) = 00001111(binary)                             MSb = 1  => Shift left and add 0011