1-Translate the following program to MIPS assembly program (Please explain each instruction in your code by a comment and submit a .asm file)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
**Title: Translating a C Program to MIPS Assembly**

**Objective:**
Translate the given C program into a MIPS assembly program. In your assembly code, include comments to explain each instruction and submit the program in a `.asm` file.

---

**C Program:**

```c
#include <stdio.h>

int main() {
    // Initialize array
    int arr[] = {5, 2, 8, 7, 1};
    int temp = 0;

    // Calculate length of array arr
    int length = sizeof(arr) / sizeof(arr[0]);

    // Display elements of original array
    printf("Elements of original array: \n");
    for (int t = 0; t < length; t++) {
        printf("%d ", arr[t]);
    }

    // Sort the array in ascending order
    for (int i = 0; i < length - 1; i++) {
        for (int j = i + 1; j < length; j++) {
            if (arr[i] > arr[j]) {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }

    printf("\n");

    // Display elements of array after sorting
    printf("Elements of array sorted in ascending order: \n");
    for (int t = 0; t < length; t++) {
        printf("%d ", arr[t]);
    }

    return 0;
}
```

**Description:**

1. **Initialization:**
   - An array `arr` is initialized with five integers: `{5, 2, 8, 7, 1}`.
   - A temporary variable `temp` is declared for use in swapping during sorting.

2. **Calculate Array Length:**
   - The length of the array is calculated using `sizeof` operator and stored in `length`.

3. **Display Original Array:**
   - The program prints the elements of the original array using a `for` loop.

4. **Sorting Algorithm:**
   - The array is sorted in ascending order using a basic selection sort algorithm. The outer loop iterates over each element while the inner loop finds the smallest element and swaps it with the current position.

5. **Display Sorted Array:**
   - Finally, the sorted array is printed.

**Graph/Diagram Explanation:**

- The document contains a
Transcribed Image Text:**Title: Translating a C Program to MIPS Assembly** **Objective:** Translate the given C program into a MIPS assembly program. In your assembly code, include comments to explain each instruction and submit the program in a `.asm` file. --- **C Program:** ```c #include <stdio.h> int main() { // Initialize array int arr[] = {5, 2, 8, 7, 1}; int temp = 0; // Calculate length of array arr int length = sizeof(arr) / sizeof(arr[0]); // Display elements of original array printf("Elements of original array: \n"); for (int t = 0; t < length; t++) { printf("%d ", arr[t]); } // Sort the array in ascending order for (int i = 0; i < length - 1; i++) { for (int j = i + 1; j < length; j++) { if (arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } printf("\n"); // Display elements of array after sorting printf("Elements of array sorted in ascending order: \n"); for (int t = 0; t < length; t++) { printf("%d ", arr[t]); } return 0; } ``` **Description:** 1. **Initialization:** - An array `arr` is initialized with five integers: `{5, 2, 8, 7, 1}`. - A temporary variable `temp` is declared for use in swapping during sorting. 2. **Calculate Array Length:** - The length of the array is calculated using `sizeof` operator and stored in `length`. 3. **Display Original Array:** - The program prints the elements of the original array using a `for` loop. 4. **Sorting Algorithm:** - The array is sorted in ascending order using a basic selection sort algorithm. The outer loop iterates over each element while the inner loop finds the smallest element and swaps it with the current position. 5. **Display Sorted Array:** - Finally, the sorted array is printed. **Graph/Diagram Explanation:** - The document contains a
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 5 images

Blurred answer
Knowledge Booster
Fundamentals of Computer System
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education