Convert x86 Assembly to C. x86 Assembly code below was generated by compiling C function loop. Complete the C function using a for loop based on the x86 code. loop: pushq %rbp movq %rsp, %rbp movl %edi, -20(%rbp) movl %esi, -24(%rbp) movl $-1, -4(%rbp) movl $1, -8(%rbp) jmp .L2 .L3: movl -8(%rbp), %eax andl -20(%rbp), %eax хorl %eax, -4(%rbp) movl -24(%rbp), %eax movl %eаx, %eсx sall %cl, -8(%rbp) .L2: cmpl $0, -8(%rbp) je .L3 movl -4(%rbp), %eax popq %rbp ret ------ Please convert the code above into C code below. Starting C code: int loop(int x, int n){ int result = -1; int m; for

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Convert x86 Assembly to C. x86 Assembly code
below was generated by compiling C function loop.
Complete the C function using a for loop based on
the x86 code.
loop:
pushq
%rbp
movq
%rsp, %rbp
movl
%edi, -20(%rbp)
movl
%esi, -24(%rbp)
movl
$-1, -4(%rbp)
movl
$1, -8(%rbp)
jmp
.L2
.L3:
movl
-8(%rbp), %eax
andl
-20(%rbp), %eax
xorl
%eax, -4(%rbp)
movl
-24(%rbp), %eax
movl
%eax, %ecx
sall
%cl, -8(%rbp)
.L2:
стрl
$0, -8(%rbp)
je
.L3
movl
-4(%rbp), %eax
popq
%rbp
ret
Please convert the code above into C code below.
Starting C code:
int loop(int x, int n){
int result = -1;
int m;
for
Transcribed Image Text:Convert x86 Assembly to C. x86 Assembly code below was generated by compiling C function loop. Complete the C function using a for loop based on the x86 code. loop: pushq %rbp movq %rsp, %rbp movl %edi, -20(%rbp) movl %esi, -24(%rbp) movl $-1, -4(%rbp) movl $1, -8(%rbp) jmp .L2 .L3: movl -8(%rbp), %eax andl -20(%rbp), %eax xorl %eax, -4(%rbp) movl -24(%rbp), %eax movl %eax, %ecx sall %cl, -8(%rbp) .L2: стрl $0, -8(%rbp) je .L3 movl -4(%rbp), %eax popq %rbp ret Please convert the code above into C code below. Starting C code: int loop(int x, int n){ int result = -1; int m; for
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY