Question: The problems in this Exercise refer to the following function, given as array code: Compare the worst-case number of executed instructions per non-last loop iteration

The problems in this Exercise refer to the following function, given as array code:a. void copy(int a[], int b[], int n) { int i; for(i=0; i-n;i++) a[i]=b[i]; b. } void shift(int a[], int n) {


Compare the worst-case number of executed instructions per non-last loop iteration in your array-based code from 2.33.1 and your pointer-based code from 2.33.3. Note: the worst case occurs when branch conditions are such that the longest path through the code is taken, i.e., if there is an if statement, the result of the condition check is such that the path with more instructions is taken. However, if the result of the condition check would cause the loop to exit, then we assume that the path that keeps us in the loop is taken.

Data from 2.33.1

Translate this function into MIPS assembly.

Data from 2.33.3

Translate your pointer-based C code from 2.33.2 into MIPS assembly.

Data from 2.33.2

Convert this function into pointer-based code (in C).

a. void copy(int a[], int b[], int n) { int i; for(i=0; i-n;i++) a[i]=b[i]; b. } void shift(int a[], int n) { int i; for(i=0; i-n-1; i++) a[i]=a[i+1]; }

Step by Step Solution

3.31 Rating (154 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

To compare the worstcase number of executed instructions per nonlast loop iteration between the arra... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Computer Organization Design Questions!