Using the following C code and assembly code answer the following;  C: long int nothingGreater(long int num) { if (num > 240) { return 240 - num; } else { return num; } } Assembly:  0x00000000004004ed <+0>: push %rbp 0x00000000004004ee <+1>: mov %rsp,%rbp 0x00000000004004f1 <+4>: mov %rdi,-0x8(%rbp) 0x00000000004004f5 <+8>: cmpq $0xf0,-0x8(%rbp) 0x00000000004004fd <+16>: jle 0x40050a 0x00000000004004ff <+18>: mov $0xf0,%eax 0x0000000000400504 <+23>: sub -0x8(%rbp),%rax 0x0000000000400508 <+27>: jmp 0x40050e 0x000000000040050a <+29>: mov -0x8(%rbp),%rax 0x000000000040050e <+33>: pop %rbp 0x000000000040050f <+34>: retq  What are the memory addresses of the three statements that implement the if statement (provide hex addresses with 0x prefix and without leading zeroes)? The first two statements that work together: The third statement that skips the else code if the if branch was taken:

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Topic Video
Question

Using the following C code and assembly code answer the following; 

C:

long int nothingGreater(long int num) {

if (num > 240) {

return 240 - num; }

else { return num; }

}

Assembly:

 0x00000000004004ed <+0>: push %rbp

0x00000000004004ee <+1>: mov %rsp,%rbp

0x00000000004004f1 <+4>: mov %rdi,-0x8(%rbp)

0x00000000004004f5 <+8>: cmpq $0xf0,-0x8(%rbp)

0x00000000004004fd <+16>: jle 0x40050a <nothingGreater+29>

0x00000000004004ff <+18>: mov $0xf0,%eax

0x0000000000400504 <+23>: sub -0x8(%rbp),%rax

0x0000000000400508 <+27>: jmp 0x40050e <nothingGreater+33>

0x000000000040050a <+29>: mov -0x8(%rbp),%rax

0x000000000040050e <+33>: pop %rbp

0x000000000040050f <+34>: retq 

What are the memory addresses of the three statements that implement the if statement (provide hex addresses with 0x prefix and without leading zeroes)?

The first two statements that work together:

The third statement that skips the else code if the if branch was taken:

Expert Solution
Step 1: Introduce the problem:

The subject at hand involves analyzing a C function named nothingGreater and its corresponding assembly code. In particular, we are examining the memory addresses of key statements that implement an if-else construct within the code to understand the control flow in the program. This analysis offers insights into how the conditional logic is translated into low-level machine instructions.

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-engineering and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY