Question: Consider the following x86-64 assembly code foo: mov $0x123, (%rax) mov $0x345, (%rcx) mova $0x456,%rax movm $0x567, (RESA) mov $0x678, %rdi call bar pusha %r8

 Consider the following x86-64 assembly code foo: mov $0x123, (%rax) mov$0x345, (%rcx) mova $0x456,%rax movm $0x567, (RESA) mov $0x678, %rdi call bar

Consider the following x86-64 assembly code foo: mov $0x123, (%rax) mov $0x345, (%rcx) mova $0x456,%rax movm $0x567, (RESA) mov $0x678, %rdi call bar pusha %r8 .checkpoint: Just before the section starting from foo is executed, the register values are given in the table: Value 0x123456789A 0x123456789B 0x123456789C 0x123456789D 0x123456789E 0x123456789F 0x12345678A0 0x12345678A1 Register Value 0x987654320A 0x987654320B 0x987654320C 0x987654320D 0x987654320E 0x987654320F 0x9876543210 0x9876543211 Register %r8 %r10 %r11 %r12 %r13 %r14 %r15 %rdi Assume "bar" is a well written function, following the calling convention you have seen in class. Also assume that there were no errors during execution (segmentation fault, etc.) What will be the values in the registers when the code reaches "checkpoint"? (Put values if a register will CERTAINLY have that value. Otherwise, write "UNKNOWN". Remember, bar can be any function, but it follows the calling conventions correctly.)

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!