讲解MIPS program、辅导C/C++程序设计、讲解c++语言、辅导C code

- 首页 >> C/C++编程


Homework3

1. Usually, there are many ways to translate a block of C code into assembly.

It is always a good idea that you stick with your own way. Please translate

the following code blocks into MIPS, where our convention is as follows: $S0

stores integer x; $S1 stores integer y.

(1).

if (x>y+5) then x=x+y else y=x-y;

(2).

while (x>y+5) {x--; x--; y++}

(3).

for (x=1; x<y; x++) {x=x+5; y++}

2. Let arrA be an array of 6 integers. Write a MIPS program that

a. read from keyboard the content of the array: 2, -10, 3, -9, -7, 23.

b. find the second largest number in the array.

c. print the number out.

Please run your program on the si,ulator and make sure it indeed works.

3. You may use either textbook or internet resources to answer the following

question. Consider the instruction addi $S0, $S1, 18. Of course, I can use

other constants in place of the 18. What is the minimal number I can use to

replace the 18?



站长地图