Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#include #include // Problem 1 // Problem 2 long decode2 (long x, long y, long z) { // implement this return 2; // replace this

#include #include

// Problem 1

// Problem 2 long decode2 (long x, long y, long z) { // implement this return 2; // replace this with appropriate return statement }

// Problem 3 void fun(long x, long y, long z){

}

int main(){

return 0; }

Here is the problem

1. Compile the file sum.c, which is in the hw3 folder, using the following command. gcc -Og -c sum.c Next, dis-assemble the object file created using objdump: objdump -d sum.o Study the generated assembly and find out what registers are used to store variables i and s of the code in sum.c. Explain your reasoning. Write your answer as a comment in hw3.c. 2. For a function with prototype

long decode2(long x, long y, long z);

gcc generates the following assembly code:

decode2: movq %rdi, %rax subq %rdx, %rax movq %rax, %rdx imulq %rax, %rdi salq $63, %rdx sarq $63, %rdx xorq %rdx, %rdi leaq (%rdi,%rsi), %rax ret

Parameters x, y, and z are passed in registers %rdi, %rsi, and %rdx. The code stores the return value in register %rax. Reverse-engineer decode2. (In other words, write C code for decode2 that will have an effect equivalent to the assembly code shown.) Note: read Section 3.5 first and write your solution in hw3.c. To check your solution, compile hw3.c to assembly code using

$ gcc -Og -S hw3.c

and then view the file hw3.s:

$ cat hw3.s

3. Consider the following assembly code:

movq (%rsi), %rax movq (%rdx), %rcx movq %rcx, (%rsi) movq (%rdi), %rcx movq %rcx, (%rdx) movq %rax, (%rdi)

This is the assembly code for a function that receives three variables at registers %rdi, %rsi and %rdx. By studying the above code explain what the function does. Then write the C code for the function implementing the function fun in hw3.c.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Spatial Databases With Application To GIS

Authors: Philippe Rigaux, Michel Scholl, Agnès Voisard

1st Edition

1558605886, 978-1558605886

Students also viewed these Databases questions

Question

Explain the nature of human resource management.

Answered: 1 week ago

Question

Write a note on Quality circles.

Answered: 1 week ago

Question

Describe how to measure the quality of work life.

Answered: 1 week ago