1-Translate the following program to MIPS assembly program (Please explain each instruction in your code by a comment and submit a .asm file)
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
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](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Ff6c1c23e-1f73-4b65-bca5-bb8e7ffd22c6%2F9db20df9-1b43-4825-a730-b6c8c6a17228%2Fyd2hx57_processed.png&w=3840&q=75)
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
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 6 steps with 5 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
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](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
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)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
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)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education