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.8, Problem 3.40PP
Explanation of Solution
Given assembly code:
fix_set_diag:
void fix_set_diag(fix_matrix A, int val)
A in %rdi, val in %rsi
movl $0,%eax
.L13:
movl %esi, (%rdi, %rax)
addq $68, %rax
cmpq $1088, %rax
jne .L13
rep;ret
Load Effective Address:
- The load effective address instruction “leaq” is a variant of “movq” instruction.
- The instruction form reads memory to a register, but memory is not been referenced at all.
- The first operand of instruction is a memory reference; the effective address is been copied to destination.
- The pointers could be generated for later references of memory.
- The common arithmetic operations could be described compactly using this instruction.
- The operand in destination should be a register.
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:
Comparison Instruction:
- The “CMP” instruction sets condition code according to differences of their two operands.
- The working pattern is same as “SUB” instruction but it sets condition code without updating destinations.
- The zero flag is been set if two operands are equal.
- The ordering relations between operands could be determined using other flags.
- The “cmpl” instruction compares values that are double word...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
(C++) I need a quicksort algorithm implementation which returns the indices of the sorted array in an array without modifying the array itself:ie,Before sortingindex : 0 1 2 3 4 5values: 70 60 40 20 30 50After sortingindex : 3 4 2 5 1 0values: 70 60 40 20 30 50
function returns an array with indexes: [3 4 2 5 1 0]
Example 7: Code the below problem using C++
Sample Input:
1.
4
1234
Sample Output:
16
Ayush has an array a of n integers. He wants to collapse the entire array into a
single element. To do this, he can perform the operation described below any
number of times. Each operation grants some points, and Ayush's total score will
be the sum of the points granted over all operations he performs.
Let aſi..j] denote the subarray of a starting at index i and ending at j. Define
min; j to be the minimum value in a[i..j].
In one operation he can do the following:
• Select any subarray a[i. j] of a of size at least 2 and replace this subarray by
a single element equal to the sum of elements of the subarray.
The number of points granted by such an operation, which will be added to his
total score, is (j – i+1) · min;j.
For example, consider an array a = [2, 3, 5]. If he selects the subarray a[1..2],
his total score increases by 2 · 2 = 4 points. Now a = [5, 5].
Ayush performs operations until only a…
(c++)Apply bubble sort on the following data 11,44,55,-6,66,88,22,55,66,10
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
- [C Program] 3. Float Count-off by CodeChum Admin Counting off a list of float numbers is hard when you speak it, but not when you code it! Don't believe me? Then let's try coding just that! Instructions: An array containing 30 predefined float values are already provided for you in the code editor. Print each of the element out in separate lines, starting from the last array element down to the first. Each outputted value must also only show up to two decimal places. Output Multiple lines containing a float number. 2.41 143.00 3.14 3.12 0.00 -321.12 -414.12 12312.10 4.10 2.42 . . . ------------------------------------ #include<stdio.h> int main(void) { float nums[30] = { 1.4, 1.2054, 2.2, 2.5, 3.66, 3.0, 4.024, 4.00001, 5.5, 5.10, 1, 2, 3, 4, 5, -1.11, -1.111, -1.1111, -1.11111, -1.111111, 2.421, 4.1, 12312.1, -414.123, -321.12, 0, 3.123, 3.14, 143, 2.412 }; return 0; } [C Program] [C…arrow_forward[C Program] 3. Float Count-off by CodeChum Admin Counting off a list of float numbers is hard when you speak it, but not when you code it! Don't believe me? Then let's try coding just that! Instructions: An array containing 30 predefined float values are already provided for you in the code editor. Print each of the element out in separate lines, starting from the last array element down to the first. Each outputted value must also only show up to two decimal places. Output Multiple lines containing a float number. 2.41 143.00 3.14 3.12 0.00 -321.12 -414.12 12312.10 4.10 2.42 . . . ---------------------------------- #include<stdio.h> int main(void) { float nums[30] = { 1.4, 1.2054, 2.2, 2.5, 3.66, 3.0, 4.024, 4.00001, 5.5, 5.10, 1, 2, 3, 4, 5, -1.11, -1.111, -1.1111, -1.11111, -1.111111, 2.421, 4.1, 12312.1, -414.123, -321.12, 0, 3.123, 3.14, 143, 2.412 }; return 0; }arrow_forward(c) A palindromic number is a number that is the same if read forwards or backwards: 12321 and 641146 are examples. It is possible to represent a number using an array of digits (numbers 0- 9), for example: [1,9,5, 2] could represent 1952. i. Using an appropriate iteration construct, write an algorithm as a procedure that decides if an input array A[1..n] of digits is a palindromic number.arrow_forward
- \#Problem C: Mirrordef mirror(img_matrix): ''' Purpose: Overwrites the bottom half of an image with a mirror image of the top half of the image. Input Parameter(s): (see invert) Return Value: A 3D matrix of the same dimensions, mirrored vertically. ''' #TODO: Finish this functionarrow_forwardLanguage: C++ Please try to keep it super simple and basic. a) Write overloaded functions, named computeDiagonal, to compute the sum of its diagonal entries of a double and integer matrix, stored as a two-dimensional array. Each function needs two parameters (2D array and size) and returns the sum of its diagonal entries. b) Write the function prototypes for the two functions. c) Write the int version of the computeDiagonal() function.arrow_forward(Exhaustive Search: The Assignment Problem) Complete the application of exhaustive search to The following assignment: [9 2 7 8] 64 37 5818 769 4 C = 1, 2, 3, 4 1, 2, 4, 3 1, 3, 2, 4 1, 3, 4, 2 1, 4, 2, 3 1, 4, 3, 2 Complete the remaining cases: Answer: cost = 9+4+1+4 = 18 cost = 9+4+8+9 = 30 cost = 9+3+8+4 = 24 cost = 9+3+8+6 = 26 cost = 9+7+8+9 = 33 cost = 9+7+1+6 = 23arrow_forward
- Question #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 Description] write a program that reads a m-by-n (m,n<=10) matrix and the row number, find the largest element in a specific row [Input form] row number matrix elements [Output format] the largest element [Sample input] twenty three 2 12 56 47 [Example output] 6 [Example description] [Score criteria] Speaking:arrow_forwardC++ Program (Markov matrix) An n by n matrix is called a positive Markov matrix if each element is positive and the sum of the elements in each column is 1. Write the following function to check whether a matrix is a Markov matrix. const int SIZE = 3; bool isMarkovMatrix(const double m[][SIZE]); Write a test program that prompts the user to enter a 3 by 3 matrix of double values and tests whether it is a Markov matrixarrow_forward
- C (24) Steve Harvey X G zimbabwe - Sear × ✔ Home - grantham x ✪ Home | Microsoft X Öhttps://content.grantham.edu/academics/LPF_CS265/CS265 FinalExam.html Question 4 Write C++ statement(s) to do the following: FACE a. Declare an array alpha of 50 components of type int. b. Initialize each component of alpha to -1. c. Output the value of the first component of the array alpha. d. Set the value of the twenty-fifth component of the array alpha to 62. e. Set the value of the tenth component of alpha to three times the value of the fiftieth component of alpha plus 10. f. Use a for loop to output the value of a component of alpha if its index is a multiple of 2 or 3. g. Output the value of the last component of alpha. h. Output the value of the alpha so that 15 components per line are printed. i. Use a for loop to increment every other element (the even indexed elements). j. Use a for loop to create a new array, diffAlpha, whose elements are the differences between consecutive elements in…arrow_forward02: (a) What is recursive function in C++ language give an example? (b) Detect the four errors in the following C+t program: #include void main ) ( int ip, x; int arr[6]=[ 10, 34, 13, 76, 5, 46 ]; ip = *arr[01: for (x 0; x < 6; x++) { cout << ip; %3D (*ip)++:arrow_forwardc++ (solve with the function) Write a program that finds a pair with a given sum in an array. Input: 6 6 8 4 -5 7 9 Input the sum: 15 Output: 0 and 5 indexes 1 and 4 indexesarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education