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...
icon
Related questions
Question

I need help with this assembly code question showing below

 
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: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.
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)
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
steps

Step by step

Solved in 4 steps with 1 images

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