Question
Step 1. Write a program in GNU assembly language that uses macros to print the following messages on the screen [20 marks]: Hello, programmers! Welcome
Step 1. Write a program in GNU assembly language that uses macros to print the following messages on the screen [20 marks]: Hello, programmers! Welcome to the world of, Linux assembly programming!
Step 2. Using the C Programming language, write four versions of a function that contains a loop. Each function should accept two numbers and calculate the sum of all numbers between the first number and last number (inclusive of the first and last number). Tip: Try to use the same number of variables and almost the same logic when writing the C code for all four functions. Once each function is written and tested for correct output, generate an assembly language version of the function using the command: $gcc -O1 -S filename.c. (where filename.c is the C program containing the function). Next, analyze and compare the assembly language version of each function. [50 marks] a. Write a version of the function using a for loop b. Write a version of the function using a while loop c. Write a version of the function using a do..while loop d. Write a version of the function using a goto loop e. Is the assembly language version of each loop function the same or different? If different, identify the differences. Your comparison should be based on: Number of registers used Number of jumps (iterations) Total number of operations
Step 3. Using the C Programming language, write a program that sums an array of 50 elements. Next, optimize the code using loop unrolling. Loop unrolling is a program transformation that reduces the number of iterations for a loop by increasing the number of elements computed on each iteration. Generate a graph of performance improvement. Tip: Figure 5.17 in the textbook provides an example of a graph depicting performance improvements associated with loop unrolling.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started