0% found this document useful (0 votes)
46 views

Code Generation Sample Questions

Uploaded by

myhealth632
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Code Generation Sample Questions

Uploaded by

myhealth632
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

29 January 2018

CS 351: Computer Engineering I

Code Generation Tutorial Question

1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 1

1. Assume i and c maps $s1 and $s2 respectively. Base


register to be $s6 for array b and $s5 for array a.
a) What is the MIPS assembly code. For clarity
provide comments.
for (i = 0; i < 100; i = i+1)
{
a[i] = b[i] + c;
}
b) What is the equivalent machine language

2. Given an instruction for MIPS RISC machine in


machine language, write the equivalent MIPS
assembly language. Describe your answer.
10101100000010010000000000001001
1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 2

Dr. E. Kalinga|CSE|CoICT|UDSM 1
29 January 2018

4. What is the MIPS


3. What is the MIPS assembly code.
assembly code. …
if (a <5)
while (save[i] < k) b = c – a - 25;
{ else if (a==5)
a = b + c – d; b = c + a + 25;
i = i + j; else
c = a+5;
}
a = b + c;

1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 3

5. Write the corresponding MIPS assembly code


for the following C segment. Assume
variables with associations are as follows: x, y
and z to $s1, $s2, $s3 and $s4 respectively.

if (x <= 10)
{
y = x+5;
z = (2+y) – (3+x);
}
1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 4

Dr. E. Kalinga|CSE|CoICT|UDSM 2
29 January 2018

6. Assume that “a” is an array of 100 elements


whose base register is in register $s3. Variable
with associations is as follows: i, n and sum to
$s1, $s2 and $s4 respectively. Using the following
C segment
for(i = 0; i < n; i++)
{
sum += a[i];
}
a) Write the corresponding MIPS assembly code,
including necessary comments within the code
b) Provide a Machine code representation of the
MIPS assembly code created in question i above.
(Use equivalent decimal numbers)
1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 5

7. Given the following code segment in MIPS:


………………………..
X = 1;
do
{
X = X + 1;
}while (X < 10);
………………………..
a) Show MIPS assembly language code that would
implement the given high level language code.
Assume x corresponds to $S1. Add comments
for each assembly statement provided:
b) Write the equivalent machine language (end up
with decimal numbers)
1/29/2018 Dr. E. Kalinga|CSE|CoICT|UDSM 6

Dr. E. Kalinga|CSE|CoICT|UDSM 3

You might also like