Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

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 0.

image text in transcribed

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 fool 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

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

Decisions Based On Data Analytics For Business Excellence

Authors: Bastian Weber

1st Edition

9358681683, 978-9358681680

More Books

Students also viewed these Databases questions

Question

Do you think physicians should have unions? Why or why not?

Answered: 1 week ago