Question: Write an assembly language program that reads move review information from a text file and reports the overall scores for each movie as well as



Write an assembly language program that reads move review information from a text file and reports the overall scores for each movie as well as identifying the movie with the highest total score. There are four movie reviewers numbered from 1 to 4. They are submitting reviews for five movies, identified by the letters from "A" through "E". Reviews are reported by using the letter identifying the movie, the review rating, which is a number from 0 to 100, and the reviewer's identifying number. For example, to report that movie B was rated a score of 87 by reviewer 3, there will be a line in the text file that looks like this: 3,87,3 The fields within each record are separated from each other by a comma. Your program must store the movie review scores in a two-dimensional array (4 rows by 5 columns). Each row represents a reviewer. Each column represents a movie. Initialize the array to zeroes and read the movie review information from a file. After reading and processing the whole file, display a report that shows the total score for each movie and the movie that had the highest total score. Section 9.4 of our textbook discusses two-dimensional arrays. Section 9.4.2 discusses Base-Index Operands and even contains an example of how to calculate a row sum for a two-dimensional array. Chapter 11 contains an example program named ReadFile.asm that will show you how to prompt the user for a file name, open a file, read its contents, and close the file when you are done. Look in section 11.1.8, Testing the File I/O Procedures. Each record in a text file is terminated by the two characters, Carriage Return (Dh) and Line Feed (0Ah). Assume that you wish to process a text file named "reviews.txt" that is stored on the "c:" drive in the "Data" folder. If you are using a Windows computer, you have two ways to identify the path to the file's location: C:/Data/reviews.txt OR C:\\Data\ eviews.txt Double backslash characters (V) are needed because a single backslash is defined as being the first part of an escape sequence such as newline ( ). This code can be used to load a reviewer's score into the array of movie reviews: ; Insert score at reviews [rowIndex] [colIndex] mov edx, rowSize ; row size in bytes mov eax, rowIndex ; row index mul edx ; row index * row size mov index, eax ; save row index * row size mov eax, colIndex ; load col index shl eax, 2 ; eax colIndex * 4 add eax, index ; eax contains offset mov edx, score reviewer's score mov ebx, OFFSET reviews ; array of review scores mov [ebx + eax], edx ; Store score for movie i edx Section 9.4 of your textbook deals with two-dimensional arrays. There is even an example showing how to calculate a row sum. You may be able to adapt this example to calculate a column sum. reviews.txt (Sample Data File) D, 84,2 A, 90,3 A, 87,4 B, 35, 4 B,100,1 0,75,1 D, 84,1 B, 87,2 A,0,2 C,25,2 D, 45,3 E,35,3 A, 90,1 B,100,3 C,75,3 E, 35,1 C,78,4 E,35,2 D,100,4 E, 0,4 Write an assembly language program that reads move review information from a text file and reports the overall scores for each movie as well as identifying the movie with the highest total score. There are four movie reviewers numbered from 1 to 4. They are submitting reviews for five movies, identified by the letters from "A" through "E". Reviews are reported by using the letter identifying the movie, the review rating, which is a number from 0 to 100, and the reviewer's identifying number. For example, to report that movie B was rated a score of 87 by reviewer 3, there will be a line in the text file that looks like this: 3,87,3 The fields within each record are separated from each other by a comma. Your program must store the movie review scores in a two-dimensional array (4 rows by 5 columns). Each row represents a reviewer. Each column represents a movie. Initialize the array to zeroes and read the movie review information from a file. After reading and processing the whole file, display a report that shows the total score for each movie and the movie that had the highest total score. Section 9.4 of our textbook discusses two-dimensional arrays. Section 9.4.2 discusses Base-Index Operands and even contains an example of how to calculate a row sum for a two-dimensional array. Chapter 11 contains an example program named ReadFile.asm that will show you how to prompt the user for a file name, open a file, read its contents, and close the file when you are done. Look in section 11.1.8, Testing the File I/O Procedures. Each record in a text file is terminated by the two characters, Carriage Return (Dh) and Line Feed (0Ah). Assume that you wish to process a text file named "reviews.txt" that is stored on the "c:" drive in the "Data" folder. If you are using a Windows computer, you have two ways to identify the path to the file's location: C:/Data/reviews.txt OR C:\\Data\ eviews.txt Double backslash characters (V) are needed because a single backslash is defined as being the first part of an escape sequence such as newline ( ). This code can be used to load a reviewer's score into the array of movie reviews: ; Insert score at reviews [rowIndex] [colIndex] mov edx, rowSize ; row size in bytes mov eax, rowIndex ; row index mul edx ; row index * row size mov index, eax ; save row index * row size mov eax, colIndex ; load col index shl eax, 2 ; eax colIndex * 4 add eax, index ; eax contains offset mov edx, score reviewer's score mov ebx, OFFSET reviews ; array of review scores mov [ebx + eax], edx ; Store score for movie i edx Section 9.4 of your textbook deals with two-dimensional arrays. There is even an example showing how to calculate a row sum. You may be able to adapt this example to calculate a column sum. reviews.txt (Sample Data File) D, 84,2 A, 90,3 A, 87,4 B, 35, 4 B,100,1 0,75,1 D, 84,1 B, 87,2 A,0,2 C,25,2 D, 45,3 E,35,3 A, 90,1 B,100,3 C,75,3 E, 35,1 C,78,4 E,35,2 D,100,4 E, 0,4
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
