) Consider the following C code snippet. void swap(int *xp, int *yp) { int temp = *xp; *xp = *yp; *yp = temp; } int findMinimum(int arr[], int N) { // variable to store the index of minimum element int min_idx = 0; int min_E = arr[min_idx]; // Traverse the given array for (int i = 1; i < N; i++) { // If current element is smaller than min_idx then update it if (arr[i] < min_E) { min_idx = i; min_E = arr[min_idx]; } } return min_idx; } /* Function to sort an array using selection sort*/ void selectionSort(int arr[], int n) { int i, min_idx; // One by one move boundary of unsorted subarray for (i = 0; i < n-1; i++) { // Find the minimum element in unsorted array min_idx = findMinimum(&arr[i], n-i); // Swap the found minimum element with the first element if(min_idx != 0) swap(&arr[min_idx+i], &arr[i]); } } Implement the above C code snippet in RISC-V assembly language. Use s0 and s1 to hold the variable i, and min_idx in the function selectionSort. Be sure to handle the stack pointer appropriately. Clearly comment on your code.
- ) Consider the following C code snippet.
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
int findMinimum(int arr[], int N)
{
// variable to store the index of minimum element
int min_idx = 0;
int min_E = arr[min_idx];
// Traverse the given array
for (int i = 1; i < N; i++) {
// If current element is smaller than min_idx then update it
if (arr[i] < min_E) {
min_idx = i;
min_E = arr[min_idx];
}
}
return min_idx;
}
/* Function to sort an array using selection sort*/
void selectionSort(int arr[], int n)
{
int i, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < n-1; i++)
{
// Find the minimum element in unsorted array
min_idx = findMinimum(&arr[i], n-i);
// Swap the found minimum element with the first element
if(min_idx != 0)
swap(&arr[min_idx+i], &arr[i]);
}
}
Implement the above C code snippet in RISC-V assembly language. Use s0 and s1 to hold the variable i, and min_idx in the function selectionSort. Be sure to handle the stack pointer appropriately. Clearly comment on your code.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps