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
Question
Chapter 3.4, Problem 3.4PP
Program Plan Intro
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:
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Exercise 1: Memory Allocation in C
a) Write a C program which dynamically allocates memory to define an integer 5 x 5 matrix initialized to zero by using the calloc function. Do not forget to free the memory in the end of your program.
b) What happens if you attempt to print your matrix before and after freeing memory?
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 1
c++ problem
1. Explain the concept of a partially filled array, what variables are required and why we would want to use one over a regular array.2. What comparison must occur in any function which adds values to a partially filled array.
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
- The programming language: C++ The union of two ordered lists (Sequential linear list)[the solution introduction: The first video of in 3.1, 35:00-43:00] [Problem description] Give the union of two ordered lists. The maximal number of elements in an inputted set is 30. [Basic requirements] 1) Use sequential linear list. 2) The result list should also be ordered. [Example] Problem: Give the union of the ordered lists (3,4,9,100,103) and (7,9,43,53,102,105). What you need to show in the terminal(the back part is outputted by you and the blue part is inputted by the user, i.e., teacher): Please input the first ordered list: (3,4,9,100,103)Please input the second ordered list: (7,9,43,53,102,105) The union is: (3,4,7,9,9,43,53,100,102,103,105)arrow_forwardPlease solve and show steps, work, and information related to this problem. Thank you. The following C++ code performs a set of various arithmetic operations using both pointers and references: Fill in a memory table that shows the final values for both function a and function b. Indicate the final values of each parameter, passed in variable(s), and the return value of the function. Provide a separate copy of this memory table for each function.arrow_forwardQuestion 2 Using the incomplete programming code given, complete the code using dynamic programming with memory function, to reproduce the results in the following Table 1. (C++) #include<iostream>using namespace std; // max knapsack capacity // *** WRITE YOUR CODE HERE ***// num of items // *** WRITE YOUR CODE HERE ***// weight of each item // *** WRITE YOUR CODE HERE ***// value of each item // *** WRITE YOUR CODE HERE ***// variable for dynamic programming matrix // *** WRITE YOUR CODE HERE *** //==========================================// Dynamic programming function: recursive// ========================================= // ALGORITHM F(i,j) // int value // if F[i,j] is not filled yet (-1): // (start with j = W, i = n) // if capacity j < current item's weight w[i]: // value = recall F(i-1, j) // else: // we can include current item,…arrow_forward
- 02: (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_forwardQuestion 3 (a) Provide a single line of C++ code that will declare an integer pointer variable named x. (b) You have variable c declared as int c; Give the single line of C++ code that will assign the integer that is pointed to by x (from above) to c. (c) Now provide the C++ code that will assign the address of c to x. (d) You may assume that x is now pointing to an allocated and initialised block of 10 integers. Write a for loop that uses pointer arithmetic to print out the contents of this block. (e) What is a segmentation fault?arrow_forward(b) Complete the following C++ function (by filling in the blanks) which receives a pointer to an integer as an argument along with an integer which specifies a column number. The function determines whether the particular column satisifies the conditions for "Sudokuness" and returns a Boolcan value accordingly. The pointer argument is used by the function to access a particular element of the array using the two-dimensional array translation formula (instead of the stan- dard array (row] [col] index notation employed in part (a)). The pointer argument will con- tain the address of the first element of the 9x9 two-dimensional array whose specified column is to be checked to see if it satisfies "Sudokuness". bool check_col (int* a, int which_col) bool all_found - true; bool number_found ; for (int number - i number <- number_found - for (int row -0 ; rOW < 9 ; row++) if ( number -- { number_found - : // we found the number, so stop searching for it // if all the numbers are found in the…arrow_forward
- Q5 (a) What is the data type of pointer variables? Suppose that we don't know the name of a variable but we do know its address. Can we access the contents of that variable? Explain briefly. (b) Write a program which defines three integer variables, varl, var2 and var3, & initializing them to the values 100, 200 & 300, it then prints out their addresses. Needed code in C++ Only part Barrow_forwardC++ (clear answer) Consider the following function main: ... const int N_COLS = 4; int main() { const int N = 20; const int N_ROWS = 10; int alpha[N]; int beta[N]; int matrix[N_ROWS][N_COLS]; ... return 0; } Write a C++ program that tests the function main and the functions discussed in parts 1 through 5. (Add additional functions, such as printing a two-dimensional array, as needed.) Write the definition of the function doubleAlpha that takes two integer arrays and its size as parameters (Hint: both arrays have the same size). Initializes the elements of beta to two times the corresponding elements in alpha. Make sure that you prevent the function from modifying the elements of alpha.arrow_forwardProblem 6 (TOP 3) Write a function called top3(d) that takes a dictionary as its single input parameter. The input dictionary will always have integers for its values. The function will find the three largest values in the dictionary and return a list of value-key pairs (as a list) for these three values. The output of the returned list will be in decreasing order of values iterate through the list finding the three greatest integers in the dictionary and then print them out (along with their keys). {'a': 100, 'b': 400, 'с':300, 'd': 50ө, 'е':250'} top3(d) >>> d %3D >>> big3 >>> print (big3) [ [500, 'd'], [400, 'b'], [300, 'с'] ] %3D Page 4 of 5 You can assume that (1) the dictionary has at LEAST three key:value pairs and that (2) the values in the dictionary are UNIQUE. Note: the output has a value-key ordering instead of key-value ordering.arrow_forward
- (c) Does an integer pointer store an integer itself or something else? (d) What is the purpose of pointers? What do they allow us to do? What would happen if we didn't have pointers?arrow_forwardConsider the following function definition.void mystery(int* x){// function body}(a) Inside the definition of mystery, the C++ language provides a way to distinguishif x points to a region of memory of automatic or dynamic storage duration.A. TrueB. Falsearrow_forward#17a Simple Statistics (not in textbook) Generate a STL array or vector of 1000 floating point numbers in the range 0 to 1. Compute the mean, median, and standard deviation of these. You may use function objects and lambda expressions, and the STL algorithms for_each, accumulate, and sort. You may not use any of the built-in looping constructs while, do-while or for. Also you may not create and use any ordinary c++ functions. Hint: The following code can be used to populate your random array named arr auto arr_store = [](float& v) { v = rand()/float(RAND_MAX); }; for_each(arr.begin(),arr.end(),arr_store); Warning, You may need to know some details about lambda expressions that are not covered in the textbook. These will be covered in the weekly lecture and in a sample program in Sakai resources. Note: The theoretical value of the standard deviation for large N is sqrt(1.0/12) which about 0.289. You should be getting a value fairly close to this.arrow_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