Question: I need help with this ASM Project: COSC 2 4 2 5 Programming Project 4 Write an assembly language program that reads move review information
I need help with this ASM Project: COSC Programming Project
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
This is my work so far and Im required to use Irvine: INCLUDE Irvineinc
INCLUDE macros.inc
BUFFERSIZE
ROWS
COLS
data
buffer BYTE BUFFERSIZE 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, INVALIDHANDLEVALUE
jne fileok
mWrite "File can't be open!",dhah
jmp quit
mov edx, OFFSET buffer
mov ecx, BUFFERSIZE
call ReadFromFile
inc checkbuffersize
mWrite "Error readinf file."
call writeWindowsMsg
jmp closefile
cmp eax, BUFFERSIZE
jb bufsizeok
mWrite "ERROR: Buffer too small for file", dhah
jmp quit
mov buffer eax
mWrite "File size:
call WriteDec
call Crlf
mWrite "Buffer: dhahdhah
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
