Question
The purpose of this assignment is to reinforce concepts around looping, data validation, and control structures, to provide practice with signed arithmetic operations, and to
The purpose of this assignment is to reinforce concepts around looping, data validation, and control structures, to provide practice with signed arithmetic operations, and to bring the status register flags into focus (CLO 3, 4).
Implementing data validation
Implementing an accumulator
Integer arithmetic
Defining variables (integer and string)
Using constants (integer)
Using library procedures for I/O
Implementing control structures (decision, loop)
What you must do
Program Description
Write and test a MASM program to perform the following tasks:
Display the program title and programmers name.
Get the user's name, and greet the user.
Display instructions for the user.
Repeatedly prompt the user to enter a number.
Validate the user input to be in [-200, -100] or [-50, -1] (inclusive).
Notify the user of any invalid negative numbers (negative, but not in the ranges specified)
Count and accumulate the valid user numbers until a non-negative number is entered. Detect this using the SIGN flag. (The non-negative number and any numbers not in the specified ranges are discarded.)
Calculate the (rounded integer) average of the valid numbers and store in a variable.
Display:
the count of validated numbers entered NOTE: if no valid numbers were entered, display a special message and skip to (f)
the sum of valid numbers
the maximum (closest to 0) valid user value entered
the minimum (farthest from 0) valid user value entered
the average, rounded to the nearest integer
-20.01 rounds to -20
-20.5 rounds to -20
-20.51 rounds to -21
-20.99 rounds to -21
a parting message (with the users name)
Program Requirements
The program must be fully documented and laid out according to the CS271 Style Guide
Actions
. This includes a complete header block for identification, description, etc., section comments for logical sections of code (modules) and block comments for code blocks.
The main procedure must be modularized into commented logical sections (procedures are not required this time)
The four value limits must be defined as constants.
The user input loop should terminate depending on the value of the SIGN flag.
The Min, Max, Count, Sum, and Average must all be stored in named variables as they are calculated.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started