IUP Computer Science
COSC 300 Fall 2000

Assignment #3
(Due 17 October 2000)

Using the link library provided by Kip Irvine, write an assembly language program to do the following: Prompt for and read in up to 12 signed 2-byte integer numbers. The end of the numbers being entered is signaled when the value 0 is entered. Determine the largest of the values entered. Determine the smallest of the values entered. Compute the sum of the numbers entered. Display the maximum value, minimum value, sum of the values, and then the entered numbers themselves in the order that is the reverse of the way in which they were entered. All output must be annotated so that it is clear what each result represents. All input should be clear, so the person executing the program knows what to do. Here is a sample of what the execution might look like:

This program finds the maximum, minimum and sum of all numbers
entered.  Enter up to 12 values between -32768 and 32767.  
Terminate execution by entering zero (0).

Enter a number: 27
Enter a number: 4935
Enter a number: -67
Enter a number: 205
Enter a number: -802
Enter a number: 88
Enter a number: 3
Enter a number: -11
Enter a number: 50
Enter a number: 1066
Enter a number: 0

The Maximum is 4935
The Minimum is -802
The Sum is 5494
In reverse, the numbers are
1066   50   -11   3   88   -802   205   -67   4935   27

Hand in a printout of the .LST file produced by the assembler for your program. Also, hand in a sample execution in which the numbers entered demonstrate the workings of the program. Be sure to enter both positive and negative numbers in the sample execution.