CSc 3210 Computer Organization and Programming
Fall Quarter 1998
Programming Assignment #3 (Due: 13 November 1998, Friday)

Assignment Objectives:

  1. To gain more experience with reading from keyboard, converting ascii into integers, and sorting of numbers.
  2. Improve you assembly programming skills.

Problem Description:

Write an assembler program that will clear the screen and repeatedly prompt the user to enter a score (number between 0 and 100). The prompt should be:


Please enter a score: 

some where in the middle of the screen at the same place each time. If any of the input is not a valid number, the program should display a message at the bottom of the screen and ignore the input. Make sure that the message is gone when the next valid number is entered or the input has terminated.

The program should store these numbers in an array. The user will terminate the input with only the ENTER key. You may assume that there will be no more than 50 numbers entered. When the user input is over, the program should sort the numbers in descending order, calculate the average score (rounded off to a whole number), and produce an output screen as follows:

    
  Grade A: 100, 98, 98, 97
  Grade B: 89, 89, 87, 80
  Grade C: 74, 72
  Grade D: 68, 66, 63
  Grade F: 54, 40, 10

  Average: 69
The scores must be printed in descending order. All scores greater or equal to 90 is considered Grade A; between 80 and 89 Grade B; between 70 and 79 Grade C; between 60 and 69 Grade D; and any score less than 60 Grade F. The program should wait for user to press any key before terminating.

Submission Instructions: Electronically submit score.asm and score.exe by the deadline and submit a hard copy printout of the program listing of score.asm.



Raj Sunderraman
Tue Nov 3, 1998