Question: Problem 3 A. (2 points) Assume we are on a x86, 64-bit Linux OS and we have the following code below. Assume the string hello

 Problem 3 A. (2 points) Assume we are on a x86,

Problem 3 A. (2 points) Assume we are on a x86, 64-bit Linux OS and we have the following code below. Assume the string "hello is stored at the memory address 0x800020. Describe the values of the registers RAX,RBX,RCX,RDX, RDI and RSI immediately before jumping to the function foo() (how are these registers setup per the Linux calling convention). If the register is not used for this operation, set it to unsigned int foo (unsigned int a, char *str) { return 65; int main() { int b = foo (3, "hello''); return b; B. (2 points) When foo() executes the line "return 65", it is done executing and will return back to main() where it executes "return b". How does the processor know to go to this line next? (Hint: stack) Problem 3 A. (2 points) Assume we are on a x86, 64-bit Linux OS and we have the following code below. Assume the string "hello is stored at the memory address 0x800020. Describe the values of the registers RAX,RBX,RCX,RDX, RDI and RSI immediately before jumping to the function foo() (how are these registers setup per the Linux calling convention). If the register is not used for this operation, set it to unsigned int foo (unsigned int a, char *str) { return 65; int main() { int b = foo (3, "hello''); return b; B. (2 points) When foo() executes the line "return 65", it is done executing and will return back to main() where it executes "return b". How does the processor know to go to this line next? (Hint: stack)

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!