Computer Systems: A Programmer's Perspective 340 / 1078 231% 3.67 Consider the following union declaration: union ele { struct { int *p; int y; } e1; struct { int x; union ele *next; } e2; }; This declaration illustrates that structures can be em dded wi in unions The following procedure (with some expressions omitted) operates on a linked list having these unions as list elements: void proc (union ele *up) { up-> } * (up->. - up->. %3D

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
icon
Concept explainers
Question
Computer Systems: A Programmer's Perspective
340
/ 1078
231%
+
3.67
Consider the following union declaration:
union ele {
struct {
int *p;
int y;
} e1;
struct {
int x;
union ele *next;
} e2;
};
This declaration illustrates that structures can be embedded within unions.
The following procedure (with some expressions omitted) operates on a
linked list having these unions as list elements:
void proc (union ele *up)
{
= *(up->
up->
}
up->
II
Transcribed Image Text:Computer Systems: A Programmer's Perspective 340 / 1078 231% + 3.67 Consider the following union declaration: union ele { struct { int *p; int y; } e1; struct { int x; union ele *next; } e2; }; This declaration illustrates that structures can be embedded within unions. The following procedure (with some expressions omitted) operates on a linked list having these unions as list elements: void proc (union ele *up) { = *(up-> up-> } up-> II
Computer Systems: A Programmer's Perspective
341
/ 1078
239%
+
A. What would be the offsets (in bytes) of the following fields:
e1.p:
e1.y:
e2.x:
e2.next:
B. How many total bytes would the structure require?
C. The compiler generates the following assembly code for the body of proc:
up at %ebp+8
8(%ebp), %edx
4(%edx), %ecx
(%ecx), %eax
(%eax), %eax
1
movl
movl
3
movl
4
movl
(%edx), %eax
%eax, 4(%ecx)
subl
movl
On the basis of this information, fill in the missing expressions in the code
Hint: Some union references can have ambiguous interpretations.
These ambiguities get resolved as you see where the references lead. There
is only one answer that does not perform any casting and does not violate
for
proc.
any type constraints.
II
Transcribed Image Text:Computer Systems: A Programmer's Perspective 341 / 1078 239% + A. What would be the offsets (in bytes) of the following fields: e1.p: e1.y: e2.x: e2.next: B. How many total bytes would the structure require? C. The compiler generates the following assembly code for the body of proc: up at %ebp+8 8(%ebp), %edx 4(%edx), %ecx (%ecx), %eax (%eax), %eax 1 movl movl 3 movl 4 movl (%edx), %eax %eax, 4(%ecx) subl movl On the basis of this information, fill in the missing expressions in the code Hint: Some union references can have ambiguous interpretations. These ambiguities get resolved as you see where the references lead. There is only one answer that does not perform any casting and does not violate for proc. any type constraints. II
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Types of Linked List
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
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