Rewrite the following high-level code to a RISC-V assembly function. The function binary_search (int nums [], int size, int target) searches a specified integer target in an integer array nums. Assume the data elements stored in the nums array is sorted incremental. Assume a0, al, and a2 hold base address of nums array, array size and the searching value target, respectively. int binarySearch (int nums [], int size, int target) // search space is nums (low high] int low = 0, high = size - 1; // loop till the search space is exhausted while (low high) // £ind the mid-value in the search space and // compares it with the target int mid - low + (high - low) /2; // int mid = (low + high)/2; // target value is found if (target == nums [mid]) { return mid; // i£ the target is less than the middle element, discard all // elements in the right search space, including the middle // element else if (target < nums [mid]) { high = mid - 1; // i£ the target is more than the middle element, discard all // elements in the left search space, including the middle // element else { low - mid + 1; // target doean't exist in the array return -1:

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

URGENT URGENT URGENT 

3.
Rewrite the following high-level code to a RISC-V assembly function. The
function binary_search (int nums [], int size, int target) searches a
specified integer target in an integer array nums. Assume the data elements stored in the
nums array is sorted incremental. Assume a0, al, and a2 hold base address of nums
array, array size and the searching value target, respectively.
int binarySearch (int nums [, int size, int target)
// search space is nums [1ow.high]
int low = 0, high = size - 1;
// loop till the search space is exhausted
while (low <- high)
// find the mid-value in the search space and
// compares it with the target
int mid = low + (high - low) /2;
// int mid = (low + high) /2;
// target value is found
if (target == nums [mid]) {
return mid;
// if the target is less than the middle element, discard all
// elements in the right search space, including the middle
// element
else if (target < nums [mid]) {
high - mid - 1;
// if the target is more than the middle element, discard all
// elements in the left search space, including the middle
// element
else {
low = mid + 1;
// target doesn't exist in the array
return -1;
Transcribed Image Text:3. Rewrite the following high-level code to a RISC-V assembly function. The function binary_search (int nums [], int size, int target) searches a specified integer target in an integer array nums. Assume the data elements stored in the nums array is sorted incremental. Assume a0, al, and a2 hold base address of nums array, array size and the searching value target, respectively. int binarySearch (int nums [, int size, int target) // search space is nums [1ow.high] int low = 0, high = size - 1; // loop till the search space is exhausted while (low <- high) // find the mid-value in the search space and // compares it with the target int mid = low + (high - low) /2; // int mid = (low + high) /2; // target value is found if (target == nums [mid]) { return mid; // if the target is less than the middle element, discard all // elements in the right search space, including the middle // element else if (target < nums [mid]) { high - mid - 1; // if the target is more than the middle element, discard all // elements in the left search space, including the middle // element else { low = mid + 1; // target doesn't exist in the array return -1;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY