Question

Using MIPS:

2. Consider the following fragment of C code: for i=0: Id=100; =+1) (a) = b) + c ( Assume that a and bare arrays of words and the base address of a is in Sa0 and the base address of b is in Sa1. Register sto is associated with variable i and register Sso with c. Write the code for MIPS. How many instructions are executed during the running of this code? How many memory data references will be made during execution?

0 0
Add a comment Improve this question Transcribed image text
Answer #1

for(i=0;i,<=100;i=i=1)

li $t0, 100 //t0 is a constant 100
li $t1,0 //t1 is a our counter
loop:
beq $t1,$t0,end
loop body
add $t1,$t1,1
end

a[i]=b[i]+c;

add $a0,$a1,$s0;

4 byte integer is needed at the time of execution.

add $s0,$s1,$s2

Add a comment
Know the answer?
Add Answer to:
Using MIPS: Consider the following fragment of C code: for i=0: i < = 100: i...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • 5. Write the MIPS minimal sequence of instructions for the following C procedure code: int array_sum...

    5. Write the MIPS minimal sequence of instructions for the following C procedure code: int array_sum (a[], b[])                                  { int i;                                       i =1; for (i=1; i<100; i=i+1) { b[i] = D + a[i-1] + a[i] + a[i+1] ;}                                                             } Assume that: a and b are arrays of words and the base address of “a” is in $a0 and the base address of “b” is in $a1, Register $S1 is associated with...

  • code: 3. (20 pts.) Consider the following fragment of for (i-0; i<=100; i-i++) { a [i]...

    code: 3. (20 pts.) Consider the following fragment of for (i-0; i<=100; i-i++) { a [i] = b[i] + c; Assume that a and b are arrays of words and that the base address of a is in Sao and the base address of b is in Sal. Register St0 is associated with variable i and register $so with the value c. You may also assume that any address constants you need are available to be loaded from memory. Make...

  • Convert the following C fragment to equivalent MIPS assembly language. Assume that the variables a, b,...

    Convert the following C fragment to equivalent MIPS assembly language. Assume that the variables a, b, c, d, i and x are assigened to registers $t1, $t2, $t3, $t4, $s0 and $s1 respectively. Assume that the base address of the array A and B is in register $a0 and $a1 respectively. if (a > 0)            b = a + 10;            else                b = a - 10;

  • Translate the following C code to MIPS assembly code. Assume that the value of i is...

    Translate the following C code to MIPS assembly code. Assume that the value of i is in register $t0, and $s0 holds the base address of the integer MemArray if (i > 10) MemArray[i] = 0; else MemArray[i] = -MemArray[i];

  • Using beq only, not bge! Translate the following C code to MIPS assembly code. Use a...

    Using beq only, not bge! Translate the following C code to MIPS assembly code. Use a minimum number of instructions. Assume that the values of a, b, i, and j are in registers $s0, $s1, $t0, and $t1, respectively. Also, assume that register $s2 holds the base address of the integer array D. Comments are required. for(i=1; i<a; i++) for(j=1; j<b; j++) D[2*j] = i + j;

  • C code to MIPS Translate the following C command into MIPS assembly. Assume that the base...

    C code to MIPS Translate the following C command into MIPS assembly. Assume that the base address of arrays A is stored in register $s1. 시 I-A[2] + 7;

  • 2.9 5 $2.2, 2.3> Translate the following C code to MIPS. Assume that the variables f,...

    2.9 5 $2.2, 2.3> Translate the following C code to MIPS. Assume that the variables f, g, h, i, and j are assigned to registers $s0, $s1, $s2, $s3, and $s4, respectively. Assume that the base address of the arrays A and B are in registers $s6 and $s7, respectively. Assume that the elements of the arrays A and B are 4-byte words: fAlBg

  • C2. Convert the following c-code to MIPS code. The base memory address of the array a is 0x8000_4...

    C2. Convert the following c-code to MIPS code. The base memory address of the array a is 0x8000_400C, which must be loaded in the base register Ss0. Register assignments: int a[10]; while (i !- 10) 1 if ( i%2 == 0) a[i] = i * 2; else ail - i* 3 i++i C2. Convert the following c-code to MIPS code. The base memory address of the array a is 0x8000_400C, which must be loaded in the base register Ss0. Register...

  • C3. Convert the following C-code to MIPS code. [Use register $al for the variable i, temporary re...

    C3. Convert the following C-code to MIPS code. [Use register $al for the variable i, temporary registers for other values, and load the base memory address of the array OxA0000080 to Şao] int i i int array [101; for (i= 0; i<5 ; i=i+1 ) { [i+1] [i] 8; * array = array C3. Convert the following C-code to MIPS code. [Use register $al for the variable i, temporary registers for other values, and load the base memory address of...

  • 1. (i) [8] Suppose $s2 contains the value 6. What’s the value of $s1 after the...

    1. (i) [8] Suppose $s2 contains the value 6. What’s the value of $s1 after the instruction sll $s1, $s2, 5? (ii) [6] Convert jalr $s2, $t7 to machine code (binary). (iii) [6] Find the corresponding MIPS instruction to the following machine code. You are given that any immediate value is represented using 2’s complement. 0011010101010111 1111111111111111 2. [20] There is a value stored in $s0. Write a sequence of MIPS instructions that will place the absolute value of $s0...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT