Your task is to fill in the missing parts of the C code to get a program equivalent to the generated assembly code. Recall that the result of the function is returned in register %rax. You will find it helpful to examine the assembly code before, during, and after the loop to form a consistent mapping between the registers and the program variables. A. Which registers hold program values x, n, result, and mask? B. What are the initial values of result and mask? C. What is the test condition for mask? D. How does mask get updated? E. How does result get updated?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
long loop(long x, long n)
{
1
long result =
long mask;
for (mask
4
; mask
; mask =
) {
result |=
7
}
8
return result;
9.
}
Your task is to fill in the missing parts of the C code to get a program equivalent
to the generated assembly code. Recall that the result of the function is returned
in register %rax. You will find it helpful to examine the assembly code before,
during, and after the loop to form a consistent mapping between the registers and
the program variables.
A. Which registers hold program values x, n, result, and mask?
B. What are the initial values of result and mask?
C. What is the test condition for mask?
D. How does mask get updated?
E. How does result get updated?
F. Fill in all the missing parts of the C code.
2.
3.
6
Transcribed Image Text:long loop(long x, long n) { 1 long result = long mask; for (mask 4 ; mask ; mask = ) { result |= 7 } 8 return result; 9. } Your task is to fill in the missing parts of the C code to get a program equivalent to the generated assembly code. Recall that the result of the function is returned in register %rax. You will find it helpful to examine the assembly code before, during, and after the loop to form a consistent mapping between the registers and the program variables. A. Which registers hold program values x, n, result, and mask? B. What are the initial values of result and mask? C. What is the test condition for mask? D. How does mask get updated? E. How does result get updated? F. Fill in all the missing parts of the C code. 2. 3. 6
Consider the following assembly code:
long loop(long x, int n)
x in %rdi, n in %esi
1
loop:
%esi, %ecx
$1, %edx
$0, %eax
2
movl
3
movl
4
movl
jmp
.L2
6.
.L3:
%rdi, %r8
%rdx, %r8
%r8, %rax
%с1, %rdx
7
movq
8
andq
orq
10
salq
11
.L2:
12
testq
%rdx, %rdx
13
jne
.L3
14
rep; ret
The preceding code was generated by compiling C code that had the following
overall form:
Transcribed Image Text:Consider the following assembly code: long loop(long x, int n) x in %rdi, n in %esi 1 loop: %esi, %ecx $1, %edx $0, %eax 2 movl 3 movl 4 movl jmp .L2 6. .L3: %rdi, %r8 %rdx, %r8 %r8, %rax %с1, %rdx 7 movq 8 andq orq 10 salq 11 .L2: 12 testq %rdx, %rdx 13 jne .L3 14 rep; ret The preceding code was generated by compiling C code that had the following overall form:
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Fundamentals of Computer System
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education