CSP25 Assignment 07
Question 1 (From Chapter 6)
Create a procedure named CalcGrade that receives an integer value
between 0 and 100, and returns a single capital letter in the AL
register. Preserve all other register values between calls to the
procedure. The letter returned by the procedure should be according
to the following ranges:
Score Range Letter Grade
————————-
90 to 100 A
80 to 89 B
70 to 79 C
60 to 69 D
0 to 59 F
Write a test program that generates 10 random integers between 50 and 100,
inclusive. Each time an integer is generated, pass it to the CalcGrade
procedure.
You display the integer generated by using the Irvine method WriteDec.
Also use WriteString method to display a message such as “The grade is : “
and then use WriteChar to display the grade calculated.
Here is an algorithm for your test program to help achive solution for this problem:
(Next page)
You still need to figure out how to get grade correctly in your CalcGrade procedure.
Algorithm for test program.
Set count to 10 (Can be in ECX)
Start of Loop
set upper limit to 51
Call RandomRange procedure
[generate # result from 0 to 50 and it is in EAX]
Add 50 to result above to get 50 to 100. Add to EAX
Display this number (in EAX) using WriteDec
Call CalcGrade procedure (and grade will be in AL)
Setup string to be displayed ” ”
Call WriteString
Call WriteChar (to display grade in AL)
Repeat loop
Algorithm for CalcGrade procedure.
# score of 50 to 100 is in EAX
If EAX > 90
Set al to ‘A’
Else if EAX > 80
Set al to ‘B’
Else if EAX > 70
Set al to ‘C’
Else if EAX > 60
Set al to ‘D’
Else
Set al to ‘F’
Make sure you have the following at the top of your Assembly code file. Fill it up accordingly
such as the name of the asm file will be Assignment07.asm
; Program Template (Assignment01.asm)
; Program Description:
; Author:
; Creation Date:
; Revisions:
; Date:Modified :
Also make sure to document your Assembly code.
What to submit?
TWO files.
1. Copy your program and paste it to a text editor such as Notepad and save file as .txt file
then submit this text file.
2. A pdf file that has your code (copied or screenshot) and output of dumping of your
registers.