Question: Problem 1: Consider the following assembly code: .LC0 .string ans %d main: .LFB0: pushq %rbp movq %rsp, %rbp subq $16, %rsp movabsq $53162464113523643, %rax

Problem 1: Consider the following assembly code:

.LC0 .string "ans %d " main: .LFB0: pushq %rbp movq %rsp, %rbp subq $16, %rsp movabsq $53162464113523643, %rax movq %rax, -8(%rbp) movl $0, -12(%rbp) jmp .L2 .L3: movq -8(%rbp), %rax movl %eax, %edx andl $1, %edx movl -12(%rbp), %eax addl %edx, %eax movl %eax, -12(%rbp) sarq -8(%rbp) .L2: cmpq $0, -8(%rbp) jg .L3 movl -12(%rbp), %eax movl %eax, %esi movl $.LC0, %edi movl $0, %eax call printf leave ret 

This code came from the following skeleton C file, and optimized with O0, so gcc -O0 -S was the exact command to compile the file.

Step 1 might be to ignore the skeleton file and create a C file from the assembly code, and then rewrite the code to fit the skeleton file.

#include  int main() { long int val=_________; int result=_________; for(;val>_________;val=_________) result += ___________; printf("ans %d ",result); } 

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!