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.

unsigned int foo (unsigned int a , char str ) {

return 65;

}

int main ( ) {

int b = foo ( 3 , hello) ;

return b ;

}

Here are the Linux calling conventions

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered 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

Horngrens Financial and Managerial Accounting

Authors: Tracie L. Nobles, Brenda L. Mattison, Ella Mae Matsumura

4th Edition

978-0133251241, 9780133427516, 133251241, 013342751X, 978-0133255584

Students also viewed these Programming questions