Go4Expert (http://www.go4expert.com/)
-   Assembly Language Programming (ALP) Forum (http://www.go4expert.com/forums/assembly-language-programming-forum/)
-   -   Bubble Sort in MIPS (http://www.go4expert.com/forums/bubble-sort-mips-t19691/)

 final_semester 7Oct2009 11:52

Bubble Sort in MIPS

I have the C program for it but I need help converting it in MIPS assembly code.

Code:

```#include <stdlib.h> #include <stdio.h> #include<conio.h>   #define ARRAY_SIZE 10   void main() {   int iarray[ARRAY_SIZE];   int x, y, holder;   clrscr();   printf("Enter 10 Array Elements :");   for(x=0;x<ARRAY_SIZE;x++)     scanf("%d",&iarray[x]);   printf("\nBefore Sort\n---------------\n");   for(x=0;x<ARRAY_SIZE;x++)     printf("%d ",iarray[x]);       //Bubble sort method   for(x = 0; x < ARRAY_SIZE; x++)     for(y = 0; y < ARRAY_SIZE-1; y++)       if(iarray[y] > iarray[y+1])       {         holder = iarray[y+1];         iarray[y+1] = iarray[y];         iarray[y] = holder;       }     printf("\n\nAfter Sort\n---------------\n");   for(x=0;x<ARRAY_SIZE;x++)     printf("%d ",iarray[x]);   getch(); }```
this is what I have so far

Code:

```.data array: .word 10, 8, 1, 5, 2, 9, 4, 3, 7, 6 length: .word 10 main:    la\$    t3,    array                    # put address of input into \$t3                 li \$t2,    6                        # put the index into \$t2                 add    \$t2,    \$t2,    \$t2    # double the index                 add    \$t2,    \$t2,    \$t2    # double the index again (now 4X)                 add        \$t1,    \$t2,    \$t3        # combine the two components of address         lw        \$t4,    0(\$t1)            # get the value from array cell             li        \$v0,    1                 move    \$a0,    \$t4                 syscall exit:    li        \$v0,    10                 syscall```

 xpi0t0s 7Oct2009 12:10

Re: Bubble Sort in MIPS

Many compilers have a setting to generate assembly output, why not check if your MIPS compiler has one of those, then you can use the compiler output for inspiration.

 All times are GMT +5.5. The time now is 09:13.