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 The instruction mov $0xf0,%eax at address 0x4004ff puts a value into register %eax but there are no other references to %eax in the program. Which instruction makes use of this value? What is the address of the instruction (0x-prefixed hex)? What register name is used that leads to the use of the value stored in %eax (give the 3-letter abbreviation with a % before it)?
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
The instruction mov $0xf0,%eax at address 0x4004ff puts a value into register %eax but there are no other references to %eax in the program. Which instruction makes use of this value?
What is the address of the instruction (0x-prefixed hex)?
What register name is used that leads to the use of the value stored in %eax (give the 3-letter abbreviation with a % before it)?

Trending now
This is a popular solution!
Step by step
Solved in 3 steps









