else } { int e = *p/2; *p += e-a; L2: L4: movq 24(%rbp),%rax movl (%rax), %eax movl %eax, %edx $31, %edx %edx, %eax %eax shrl addl sarl movl %eax,-12(%rbp) movl 24(%rbp),%rax movl (%rax), %edx movl -12(%rbp), %eax subl 16(%rbp),%eax addl %eax,%edx movq 24(%rbp), %rax movl %edx,(%rax) addq $16, %rsp popq %rbp ret 3. Registers Rewrite the preceding example using as many registers as is reasonable. If you use any callee save registers, remember to add the save code.
else } { int e = *p/2; *p += e-a; L2: L4: movq 24(%rbp),%rax movl (%rax), %eax movl %eax, %edx $31, %edx %edx, %eax %eax shrl addl sarl movl %eax,-12(%rbp) movl 24(%rbp),%rax movl (%rax), %edx movl -12(%rbp), %eax subl 16(%rbp),%eax addl %eax,%edx movq 24(%rbp), %rax movl %edx,(%rax) addq $16, %rsp popq %rbp ret 3. Registers Rewrite the preceding example using as many registers as is reasonable. If you use any callee save registers, remember to add the save code.
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...
Related questions
Question
I need help with this assembly code question showing below

Transcribed Image Text:else
{
int e = "p/2;
L2:
movq 24(%rbp),%rax
movl (%rax),%eax
movl %eax, %edx
shrl $31, %edx
addl %edx, %eax
sarl
%eax
movl %eax,-12(%rbp)
*p += e-a;
movl 24(%rbp),%rax
movl (%rax), %edx
movl -12(%rbp), %eax
subl 16(%rbp),%eax
addl
%eax,%edx
movq 24(%rbp), %rax
movl %edx,(%rax)
L4:
addq $16, %rsp
popq %rbp
ret
}
3. Registers
Rewrite the preceding example using as many registers as is reasonable.
If you use any callee save registers, remember to add the save code.

Transcribed Image Text:void baz(int a, int * p)
{
pushq %rbp
movq %rsp,%rbp
subq $16,%rsp
int c;
c = a-*p;
movl %ecx,16(%rbp)
movq %rdx, 24(%rbp)
movq 24(%rbp), %rax
movl (%rax),%eax
movl 16(%rbp),%edx
subl %eax,%edx
movl %edx,%eax
movl %eax,-4(%rbp)
cmpl $0, -4(%rbp)
je L2
if (c)
{
int d = c*2;
movl -4(%rbp),%eax
addl %eax,%eax
movl %eax,-8(%rbp)
*p -= d;
movl 24(%rbp),%rax
movl (%rax),%eax
subl -8(%rbp),%eax
movl %eax,%edx
movq 24(%rbp), %rax
movl %edx, (%rax)
jmp L4:
}
(continued on next page)
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 4 steps with 1 images

Recommended textbooks for you

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 Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning

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 Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science

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
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education

Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY