Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Expert Solution & Answer
Chapter 3.9, Problem 3.42PP
A.
Explanation of Solution
Given assembly code:
long fun(struct ELE *ptr)
ptr in %rdi
fun:
movl $0, %eax
jmp .L2;
.L3:
addq (%rdi), %rax
movq 8(%rdi), %rdi
.L2:
testq %rdi, %rdi
jne .L3
rep;ret
Data movement instructions:
- The different instructions are been grouped as “instruction classes”.
- The instructions in a class performs same operation but with different sizes of operand.
- The “Mov” class denotes data movement instructions that copy data from a source location to a destination.
- The class has 4 instructions that includes:
- movb:
- It copies data from a source location to a destination.
- It denotes an instruction that operates on 1 byte data size.
- movw:
- It copies data from a source location to a destination.
- It denotes an instruction that operates on 2 bytes data size.
- movl:
- It copies data from a source location to a destination.
- It denotes an instruction that operates on 4 bytes data size.
- movq:
- It copies data from a source location to a destination.
- It denotes an instruction that operates on 8 bytes data size.
- movb:
Unary and Binary Operations:
- The details of unary operations includes:
- The single operand serves as both source as well as destination.
- It can either be a register or a memory location.
- The instruction “incq” causes 8 byte element on stack top to be incremented.
- The instruction “decq” causes 8 byte element on stack top to be decremented.
- The details of binary operations includes:
- The first operand denotes the source...
B.
Explanation of Solution
Data structure implementation and operation performed by fun:
- Each of the structure denotes an element in a singly linked list...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
(c) An electronic rainfall depth measurement device is developed to collect the data from
the past 7 days as shown in Table 1 to study the weather condition at UniMAP.
Table 1
[Jadual 1]
Location: UniMAP
Day Rainfall Depth (mm)
5.9
1
2
6.7
3
2.4
7.8
5.2
4
5
1.8
7
3.5
(i) Write a program in C to receive the values of rainfall depth and display the
number of days with light rain ( 7.6 mm) from the
record in Table 1.
(ii) Rewrite the program in (c)(i) to identify and display the day with the lowest value
of rainfall depth, the day with the highest value of rainfall depth and the average
value of rainfall depth for the past 7 days.
Problem (7) « :(F'ind 3 possible places for errors in the following code (assume no
issues with parts not shown, such as #include). Assume no user-defined global variables
exist. Explain specifically what causes the error and whether it is a syntax, runtime or
logic error.
int sumArray(int a[], int size);
int main() {
int a={1,5,6,3,7,4};
int sum = sumArray(a, 5);
cout « "Sum is: " « sum <« endl;
}
int sumArray(int a[], int size) {
if(size == 0) {
return size;
}
else {
a[size-1] + sumArray(a, size--);
}
int dummy = 8;
}
(a) Assume that five generation units with third order cost
function (F, (R) = A; P+ B;P+C; P; + D;) are in the circuit.
Write a computer program using any abitrary programming
longuage (MATLAB, C++, C#, Python,.) to calculate economic
load dipatch (ELD) using first order gradient method.
Note that all parameters and variables should be defined
inside the
program (at
tirst lines) such that units' characteristics
and demand can be changed easily. Neglect grid losses.
jusing dynamic programming (DP) methed.
Chapter 3 Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
Ch. 3.4 - Prob. 3.1PPCh. 3.4 - Prob. 3.2PPCh. 3.4 - Prob. 3.3PPCh. 3.4 - Prob. 3.4PPCh. 3.4 - Prob. 3.5PPCh. 3.5 - Prob. 3.6PPCh. 3.5 - Prob. 3.7PPCh. 3.5 - Prob. 3.8PPCh. 3.5 - Prob. 3.9PPCh. 3.5 - Prob. 3.10PP
Ch. 3.5 - Prob. 3.11PPCh. 3.5 - Prob. 3.12PPCh. 3.6 - Prob. 3.13PPCh. 3.6 - Prob. 3.14PPCh. 3.6 - Prob. 3.15PPCh. 3.6 - Prob. 3.16PPCh. 3.6 - Practice Problem 3.17 (solution page 331) An...Ch. 3.6 - Practice Problem 3.18 (solution page 332) Starting...Ch. 3.6 - Prob. 3.19PPCh. 3.6 - Prob. 3.20PPCh. 3.6 - Prob. 3.21PPCh. 3.6 - Prob. 3.22PPCh. 3.6 - Prob. 3.23PPCh. 3.6 - Practice Problem 3.24 (solution page 335) For C...Ch. 3.6 - Prob. 3.25PPCh. 3.6 - Prob. 3.26PPCh. 3.6 - Practice Problem 3.27 (solution page 336) Write...Ch. 3.6 - Prob. 3.28PPCh. 3.6 - Prob. 3.29PPCh. 3.6 - Practice Problem 3.30 (solution page 338) In the C...Ch. 3.6 - Prob. 3.31PPCh. 3.7 - Prob. 3.32PPCh. 3.7 - Prob. 3.33PPCh. 3.7 - Prob. 3.34PPCh. 3.7 - Prob. 3.35PPCh. 3.8 - Prob. 3.36PPCh. 3.8 - Prob. 3.37PPCh. 3.8 - Prob. 3.38PPCh. 3.8 - Prob. 3.39PPCh. 3.8 - Prob. 3.40PPCh. 3.9 - Prob. 3.41PPCh. 3.9 - Prob. 3.42PPCh. 3.9 - Practice Problem 3.43 (solution page 344) Suppose...Ch. 3.9 - Prob. 3.44PPCh. 3.9 - Prob. 3.45PPCh. 3.10 - Prob. 3.46PPCh. 3.10 - Prob. 3.47PPCh. 3.10 - Prob. 3.48PPCh. 3.10 - Prob. 3.49PPCh. 3.11 - Practice Problem 3.50 (solution page 347) For the...Ch. 3.11 - Prob. 3.51PPCh. 3.11 - Prob. 3.52PPCh. 3.11 - Practice Problem 3.52 (solution page 348) For the...Ch. 3.11 - Practice Problem 3.54 (solution page 349) Function...Ch. 3.11 - Prob. 3.55PPCh. 3.11 - Prob. 3.56PPCh. 3.11 - Practice Problem 3.57 (solution page 350) Function...Ch. 3 - For a function with prototype long decoda2(long x,...Ch. 3 - The following code computes the 128-bit product of...Ch. 3 - Prob. 3.60HWCh. 3 - In Section 3.6.6, we examined the following code...Ch. 3 - The code that follows shows an example of...Ch. 3 - This problem will give you a chance to reverb...Ch. 3 - Consider the following source code, where R, S,...Ch. 3 - The following code transposes the elements of an M...Ch. 3 - Prob. 3.66HWCh. 3 - For this exercise, we will examine the code...Ch. 3 - Prob. 3.68HWCh. 3 - Prob. 3.69HWCh. 3 - Consider the following union declaration: This...Ch. 3 - Prob. 3.71HWCh. 3 - Prob. 3.72HWCh. 3 - Prob. 3.73HWCh. 3 - Prob. 3.74HWCh. 3 - Prob. 3.75HW
Knowledge Booster
Similar questions
- 7. [10] (Display Pattern) Write a C++ function called pattern that displays a pattern of stars and numbers for a given number of columns (passed as a parameter). Maximize your use of repetition (with nested for statements) and minimize the number of cout statements. Your function should then display a pattern of the appropriate size. Write a test program (main) that generates a random number in the range of 1 to 20 (inclusive) to specify the number of columns in the pattern. Use pattern to display the pattern with this random number as the number of columns. Here are two samples: With 3 as the input: With 5 as the input: 1 1 *2 *2 **3 **3 *2 ***4 1 ****5 ***4 **3 *2 1arrow_forward(B+C) x (D+E) F 1. Write code to implement the expression: A = on 3-, 2-, 1- and 0-address machines. In accordance with programming language practice, computing the expression should not change the values of its operands. 2. Solve the following: a) In a computer instruction format, the instruction length is 11 bits and the size of an address field is 4 bits. Is it possible to have: 5 2-address instructions, 45 1-address instructions and 32 0-address instructions using the spec- ified format? Justify your answer. 3. Suppose a computer using direct mapped cache has 232 bytes of byte-addressable main memory and a cache size of 512 bytes, and each cache block contains 128 bytes. a) How many blocks of main memory are there? b) What is the format of a memory address as seen by cache, i.e., what are the sizes of the tag, block, and offset fields? c) To which cache block will the memory address 0x13A4498A map?arrow_forwardQuestion #2: (5 Points). Write a function in C++ which accepts a 2D array of integers and its size as arguments and displays the elements of middle row and the elements of middle column. [Assuming the 2D Array to be a square matrix with odd dimension i.e. 3x3, 5x5, 7x7 etc...] Example, if the array contents is 3 5 4 7 6 9 2 1 8 Output through the function should be : Middle Row :769 Middle column : 5 6 1arrow_forward
- Problem 17. [ 1 point for correctness ] Use the Design Recipe to define a function pulse_rate that has two parameters. The first is the number of seconds a nurse has counted pulses, and the second is the number of pulses counted (both ints). The function should return the pulse rate, pulses/minute, as a float. Don't forget to convert seconds to minutes! Include a Docstring.(use Python) For example: Test Result print(round(pulse_rate(30,22),1)) 44.0 Use this statement to test your pulse_rate function: assert_equal(round(pulse_rate(30, 22),1),44.0)arrow_forward4. (Data processing) a. Declare a single structure data type suitable for an employee structureof the type shown in the following chart:Number Name Rate Hours3462 Jones 14.62 406793 Robbins 15.83 386985 Smith 15.22 457834 Swain 16.89 408867 Timmins 16.43 359002 Williams 14.75 42b. Using the data type declared in Exercise 4a, write a C++ program that interactively acceptsthe chart’s data in an array of six structures. After the data has been entered, the programshould create a payroll report listing each employee’s name, number, and gross pay. Includethe total gross pay of all employees at the end…arrow_forwardCourse: ((computer architecture)) Problem: Memory: Given a 16Kx4 ROM memory chip; 1. What is the size of this ROM in Bytes? 2. Assuming the need to have one Control pin, one VCC and one VSS, Draw the smallest (i.e. number of pins) DIP package required to package this chip showing all pins with proper naming and directions.arrow_forward
- 12. (identities). Minimize the function F using algebraic modifications (w,x,y,z) Y(Z+WX (W+Z)) + (XY+(x+y) + Z) + z ((ZX +2X) A M+1) = 12²x²x²m)_]arrow_forward5) (Applications in MATLAB) hand written plz c) Develop an M-file function for the trapezoidal rule. Use it to estimate the integral of f(x) = 0.2 + 25x - 200x² +675x³ - 900x4 + 400x5 from a=0 to b=0.8.arrow_forward(C PROGRAMMING ONLY) 1. Pointing Fingersby CodeChum Admin I am so mad at my brothers, they always point their fingers to me whenever mom gets angry ? Now that I'm knowledgeable about pointers, I'm going to point all of my 5 fingers to them. Let's see who's tough now! Instructions: In the code editor, you are provided with a main() function where the user is asked for 5 double numbers.Then, in lines 19 - 23, your task is to set the addresses of these numbers to each of the pointers. The address of the first number, a, should be assigned to the first pointer, the address of the second number, b, should be assigned to the second pointer, and so on.Input 1. First number 2. Second number 3. Third number 4. Fourth number 5. Fifth number Output Enter 1st number: 23.2Enter 2nd number: 10.01Enter 3rd number: 800Enter4th number: 24Enter 5th number: 2123.2 10.0 800.0 24.0 21.0arrow_forward
- #include using namespace std; int main() { int type; double Vth, Vg, Vd, Vs; cin>>type>>Vth>>Vg>>Vd>>Vs; return 0; }arrow_forward#include using namespace std; int main() { int type; double Vth, Vg, Vd, Vs; cin>>type>>Vth>>Vg>>Vd>>Vs; return 0; }arrow_forward(Data processing) a. Declare a single structure data type suitable for an employee structure of the type shown in the following chart: Number 3462 Name Rate Hours 14.62 40 Jones Robbins 6793 15.83 38 6985 Smith 15.22 45 7834 Swain 16.89 40 8867 Timmins 16.43 35 9002 Williams 14.75 42 b. Using the data type declared in Exercise 4a, write a C++ program that interactively accepts the chart's data in an array of six structures. After the data has been entered, the program should create a payroll report listing cach employee's name, number, and gross pay. Include the total gross pay of all employees at the end of the report.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr