Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is question 3.58 (pg 311) from Book: Computer Systems: A Programmers Perspective (3rd Edition): For a function with prototype long decode2(long x, long y,

This is question 3.58 (pg 311) from Book: Computer Systems: A Programmers Perspective (3rd Edition):

For a function with prototype

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

GCC generates the following assembly code:

1 decode2:

2 subq %rdx, %rsi

3 imulq %rsi, %rdi

4 movq %rsi, %rax

5 salq $63, %rax

6 sarq $63, %rax

7 xorq %rdi, %rax

8 ret

Parameters x, y, and z are passed in registers %rdi, %rsi, and %rdx. The code stores the return value in register %rax.

Write C code for decode2 that will have an effect equivalent to the assembly code shown.

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

More Books

Students also viewed these Databases questions

Question

=+1. Work in teams of four or five.

Answered: 1 week ago