Consider the following assembly language code: LCO: string "answer %d\n" text globi main type main, @function main: pushq %rbp movq %rsp, %rbp subq $16, %rsp movl $12, -8(%rbp) movl $3, -4(%rbp) movl...


Consider the following assembly language code:<br>LCO:<br>string

Extracted text: Consider the following assembly language code: LCO: string "answer %d\n" text globi main type main, @function main: pushq %rbp movq %rsp, %rbp subq $16, %rsp movl $12, -8(%rbp) movl $3, -4(%rbp) movl $0, -16(%rbp) movi -8(%rbp), %eax -4(%rbp), %eax movi %eax, -12(%rbp) xorl jmp 12 L3: movl -12(%rbp), %eax andl $1, %eax addi %eax, -16(%rbp) -12(%rbp) sarl L2: cmpl $0, -12(%rbp) jne 13 movi -16(%rbp), %eax movl %eax, %esi leaq LCO(%rip), %rdi movl $0, %eax call printf@PLT movi $0, %eax leave ret This code came from skeleton C file below after optimizing with 00. This means "gcc -00 -5 fno- asynchronous-unwind-tables" command was used to convert C File into assembly file. (The last option was used to disable cfi directives) Complete the C code given below using the provided assembly code One approach may be to ignore the skeleton file and create an equivalent C code from the assembly code, and then rewrite the code to fit the skeleton file. int main(){ int a = b 3: int count for(int e = a b; e != o; e=e 1){ count + (c 1); } printf("answer %d\n", count); return o;

Jun 08, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here