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

Using 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.

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!