assembly language assignment 07

profileenhit
CSP25Assignment07.pdf

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: <fill this up>

; Author: <fill this up>

; Creation Date: <fill this up>

; Revisions: <fill this up if necessary>

; Date:Modified : <fill this up if necessary>

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.