Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Problem 1: Consider the following assembly code:

.LC0 .string "ans %d " main: .LFB0: pushq %rbp movq %rsp, %rbp subq $16, %rsp movabsq $83162457113523645, %rax movq %rax, -8(%rbp) movl $0, -12(%rbp) jmp .L2 .L3: movq -8(%rbp), %rbx movl %ebx, %ecx andl $1, %ecx movl -12(%rbp), %ebx addl %ecx, %ebx movl %ebx, -12(%rbp) sarq -8(%rbp) .L2: cmpq $0, -8(%rbp) jg .L3 movl -12(%rbp), %ebx movl %ebx, %esi movl $.LC0, %edi movl $0, %ebx 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. Complete the below given C code using the above information . 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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored 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

Expert Oracle Exadata

Authors: Martin Bach, Kristofferson Arao

2nd Edition

1430262427, 9781430262428

More Books

Students also viewed these Databases questions

Question

What do you need to put in place to accomplish this?

Answered: 1 week ago