Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Assembly Language Programming (ALP) Forum (http://www.go4expert.com/forums/assembly-language-programming-forum/)
-   -   Booth's Algorithm in MIPS (http://www.go4expert.com/forums/booths-algorithm-mips-t7408/)

cyrow 20Nov2007 16:27

Booth's Algorithm in MIPS
 
I have been work on this program, but I am having problems in rectifying the errors. Help me..text
Code:

* 12 bits register
* 8 bits anwer
* 4 bits multiplier and multiplicant
* user must enter multiplier and multiplicant
* print the results in both decimal and binary

        .globl main
main:
       
       
                li $v0, 4        #Enter multiplicant       
                la $a0, msg1
                syscall
                li $v0, 5
                syscall
                move $a0, $v0


                li $v0, 4        #Enter multiplier
                la $a0, msg2
                syscall
                li $v0, 5
                syscall
                move $a1, $v0

               
                li $v0, 0
                li $t1, 0
                li $t0, 12        # twelve bits


algorithm:
                and $t2, $a0, 24 #24 bit mask
                sll $t2, $t2, 1
                or $t2, $t2, $t1
                beq $t2, 2, check10
                beq $t2, 1, check01
                b shift

check10:        sub $v0, $v0, $a1
                b shift

check01:        add $v0, $v0, $a1

shift:
                and $t1, $a0, 16 #16 bit mask
                and $t2, $v0, 8  #8 bit mas
                sll $t2, $t2, 31
                srl $a0, $a0, 1
                or $a0, $a0, $t2
                sra $v0, $v0, 1
                sub $t0,$t0, 1
                bnez $t0, algorithm



                # Printing the 8 bits results ($v0,$a0)
                li                $v0, 4               
                la                $a0, msg3
                syscall
                li                $v0,1               
                move                $v0, $a0
                syscall


.data
        msg1: .asciiz"\nEnter multiplicand"
        msg2: .asciiz"\nEnter multiplier"
        msg3: .asciiz"\nThe Eight bits result is"


shabbir 20Nov2007 17:42

Re: Booth's Algorithm in MIPS
 
Duplicate of Booth's Algorithm. Thread closed.


All times are GMT +5.5. The time now is 03:30.