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

Write in MASM.Write an assembly language program that reads movie 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 three movie reviewers numbered from 1 to 3. 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 reviewers 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: B,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 (3 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 (0Dh) 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 files location:
C:/Data/reviews.txt OR C:\\Data\\reviews.txt
Double backslash characters (\) 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 reviewers score into the array of movie reviews:
Project 4 Tip - Loading Array
; 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 ; edx = reviewer's score
mov ebx,OFFSET reviews ; array of review scores
mov[ebx + eax],edx ; Store score for movie
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.
This is review.txt file
D,84,2
A,90,3
A,87,1
B,35,2
B,100,1
C,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,2
E,35,2
D,100,3
E,0,3

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!