# Booth's Algorithm

• August 3rd, 2005, 01:06 PM
flash_os
Booth's Algorithm
How I can implement below algorithm for multiply 104*50=5200 using Boothâ€™s algorithm?

1101000*110010=1010001010000
7bits 6bits 13bits
Algorithm:

http://ftp.csci.csusb.edu/schubert/t...h_tutorial.pdf

http://ftp.csci.csusb.edu/schubert/t...thTutorial.pdf

http://ftp.csci.csusb.edu/schubert/t...4/TL_Booth.pdf

How much bits should I reserve for U and V?

• August 3rd, 2005, 02:19 PM
(In)Sanity
So what's a typical application of such an algorithm?
• August 3rd, 2005, 02:34 PM
flash_os
For MIPS processors, it's make shifts more faster than add ops.
• August 3rd, 2005, 02:44 PM
(In)Sanity
Quote:

Originally Posted by flash_os
For MIPS processors, it's make shifts more faster than add ops.

Ahh I see, so no shift operations native to the chip? ROL ROR, etc.
• August 3rd, 2005, 02:55 PM
flash_os
Nope. Shift ops more faster than Algebraic ops in MIPS chip. In that algorithm much more used Shift ops than Algebraic ops.
• August 3rd, 2005, 03:12 PM
(In)Sanity
Quote:

Originally Posted by flash_os
Nope. Shift ops more faster than Algebraic ops in MIPS chip. In that algorithm much more used Shift ops than Algebraic ops.

That's surprising to a degree. I understand what your trying to do, I've just never done it that way. I've only done assembly language on 6502's x86's and 680x's. Back in the 6502 days what you mention was pretty much one of the only way to do math. I can't say I ever progressed that far with that CPU as it was one of the very first I worked with. The x86 had MUL and DIV of course so I didn't have the desire or need to use shifts.

Good luck.