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 to 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 to and the reviewers identifying number. For example, to report that movie B was rated a score of by reviewer there will be a line in the text file that looks like this: B
The fields within each record are separated from each other by a comma. Your program must store the movie review scores in a twodimensional array rows by 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 of our textbook discusses twodimensional arrays. Section discusses BaseIndex Operands and even contains an example of how to calculate a row sum for a twodimensional array. Chapter 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 Testing the File IO Procedures. Each record in a text file is terminated by the two characters, Carriage Return Dh and Line Feed Ah
Assume that you wish to process a text file named reviewstxt 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:Datareviewstxt OR C:Datareviewstxt Double backslash characters are needed because a single backslash is defined as being the first part of an escape sequence such as newline
reviews.txt
D A A B B C D B A C D E A B C E C E D E This is my work so far and I
m required to use Irvine: INCLUDE Irvine
inc
INCLUDE macros.inc
BUFFER
SIZE
ROWS
COLS
data
buffer BYTE BUFFER
SIZE DUP
filename BYTE
DUP
fileHandle HANDLE
rowSize dd
rowIndex dd
colIndex dd
code
mWrite "Enter a filename:
mov edx, OFFSET filename
mox ecx,SIZEOF filename
call ReadString
mov edx, OFFSET filename
call OpenInputFile
mov fileHandle, eax
cmp eax, INVALID
HANDLE
VALUE
jne file
ok
mWrite
"File can't be open!",
dh
ah
jmp quit
mov edx, OFFSET buffer
mov ecx, BUFFER
SIZE
call ReadFromFile
inc check
buffer
size
mWrite "Error readinf file."
call writeWindowsMsg
jmp close
file
cmp eax, BUFFER
SIZE
jb buf
size
ok
mWrite
"ERROR: Buffer too small for file",
dh
ah
jmp quit
mov buffer
eax
mWrite "File size:
call WriteDec
call Crlf
mWrite
"Buffer:
dh
ah
dh
ah
mov edx, OFFSET buffer
call WriteString
call Crlf
mov eax, fileHandle
mov edx, rowSize
mov eax, rowIndex
mul edx
mov index, eax
mul eax, colIndex
shl eax,
add eax,index
mov edx, score
mov ebx, OFFSET reviews
mov
ebx
eax
edx
call CloseFile
exit
main ENDP
END main
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
