turn this c code into assembly language in optimized and unoptimized mode.        /* Project 2 */ /* GCC */ /* gcc -Wa,-adhln -g -masm=intel -m32 "Project 2.c" > "Project 2-g.asm" */ /* gcc -Wa,-adhln -O -masm=intel -m32 "Project 2.c" > "Project 2-o.asm" */ #include #define NOINLINE __attribute__ ((noinline)) static NOINLINE int function1(int x, int y) {     int i;     int sum;     int values[10];          sum = 0;     for (i = 0; i < 10; i++) {         values[i] = 10 * i + x * y;         sum += values[i];     }     return (sum);      }  static int NOINLINE function2(int *values, int valuesLen) {     int i;     int sum;     sum = 0;     for (i = 0; i < valuesLen; i++) {         sum += values[i];     }     return (sum);      } static NOINLINE int function3(int x) {     int y;     y = x / 10;          return (y);      } static NOINLINE int function4(int a, int b, int c, int d) {     int r;     if (a > b)         r = a;     else if (a > c)         r = 2 * a;     else if (a > d)         r = 3 * a;     else         r = -1;          return (r);      } int main(int argc, char **argv) {     int i;     int j;     int k;     int values[10];     i = 1;     j = 2;      k = function1(i, j);     printf("function1: i = %d, j = %d, k = %d\n", i, j, k);     for (i = 0; i < 10; i++) {         values[i] = i;     }     k = function2(values, 10);     printf("function2: k = %d\n", k);     k = function3(100);     printf("function3: k = %d\n", k);     k = function4(1, 2, 3, 4);     printf("function4: k = %d\n", k);     return (0); }

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

turn this c code into assembly language in optimized and unoptimized mode. 

 

 

 

/* Project 2 */

/* GCC */
/* gcc -Wa,-adhln -g -masm=intel -m32 "Project 2.c" > "Project 2-g.asm" */
/* gcc -Wa,-adhln -O -masm=intel -m32 "Project 2.c" > "Project 2-o.asm" */

#include <stdio.h>

#define NOINLINE __attribute__ ((noinline))

static NOINLINE int function1(int x, int y)
{

    int i;
    int sum;
    int values[10];
    
    sum = 0;
    for (i = 0; i < 10; i++) {
        values[i] = 10 * i + x * y;
        sum += values[i];
    }

    return (sum);
    
}

 static int NOINLINE function2(int *values, int valuesLen)
{

    int i;
    int sum;

    sum = 0;
    for (i = 0; i < valuesLen; i++) {
        sum += values[i];
    }

    return (sum);
    
}

static NOINLINE int function3(int x)
{

    int y;

    y = x / 10;
    
    return (y);
    
}

static NOINLINE int function4(int a, int b, int c, int d)
{

    int r;

    if (a > b)
        r = a;
    else if (a > c)
        r = 2 * a;
    else if (a > d)
        r = 3 * a;
    else
        r = -1;
    
    return (r);
    
}

int main(int argc, char **argv)
{

    int i;
    int j;
    int k;
    int values[10];

    i = 1;
    j = 2;
     k = function1(i, j);
    printf("function1: i = %d, j = %d, k = %d\n", i, j, k);

    for (i = 0; i < 10; i++) {
        values[i] = i;
    }
    k = function2(values, 10);
    printf("function2: k = %d\n", k);

    k = function3(100);
    printf("function3: k = %d\n", k);

    k = function4(1, 2, 3, 4);
    printf("function4: k = %d\n", k);

    return (0);
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

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