Question: Given the following disassembly of a function: // int fun( int x, int y ) // x in %edi, y in %esi fun: movl %edi,%eax

Given the following disassembly of a function:

// int fun( int x, int y ) // x in %edi, y in %esi fun: movl %edi,%eax shrl $0x1f,%eax movl %esi,%edx shrl $0x1f,%edx andl %edx,%eax addl %edi,%esi notl %esi shrl $0x1f,%esi andl %esi,%eax retq 

What was the C code for this function?

Question 6 options:

int s= x + y; if ( x & y & !s ) return 1; return 0; 
int s= x + y; if ( x < 0 && y < 0 && s >= 0 ) return 1; return 0; 
int s= x + y; if ( x && y && !s ) return 1; return 0; 
int s= x + y; if ( x < 0 && y < 0 && !s ) return 1; return 0; 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!