| Category | Points | Min | Max |
Main
- Reads Difficulty level
- Generates a list of 10 questions.
- Repeats for additional games
| | 0 | 10 |
Random
- Generates a number in range: [ 0 .. 2^16-2 ]
- First call returns RandSeed = 13
- Matches pattern generated by library routine (ver 1.2 of LIB291)
| | 0 | 5 |
PickNum
- Returns number between [ 0..Range ] in AX
- Result varies with level (0..9, 0..15, 0..99, 0..181)
| | 0 | 5 |
PickOp
- Returns an operation in BL in { + - * / % & | ^ }
- Only returns { + - * / } at level 0
| | 0 | 5 |
ShowOp
- Prints like: Question Qnum: Num1 operation Num2
| | 0 | 5 |
ReadNum
- Reads numbers from keyboard
- Allows backspacing
- Allows negative numbers
- Rejects invalid input
- Quits program when escape pressed
| | 0 | 7 |
CalcResult
- Calculates correct result for each of the 8 operations
and all possible input values.
| | 0 | 8 |
CMPResult
- Scores 1 point for correct answers
- Prints correct answer when input is incorrect
| | 0 | 5 |
Modularity (* percentage of code written)
- Follows all specifications of Assignment: +5
- Awkward use of conditional jumps or loops: -2
- Use of hardcoded addresses rather than pointers: -3
- Use of hardcoded structure offsets: -0
No deduction on this assignment.
Topic will be covered later in the semester
| | -5 | 0 |
Technique & Style (* percentage of code written)
- Compact and Efficient code: +5
- Extraneous of registers and/or variables: -3
- Excessive coding (More than 2 pages): -2
| | -5 | 0 |
Comments (* percentage of code written)
- Clear and precise comments: +5
- Sports Announcer-type comments: -1
- Sparse and/or unclear comments: -3
| | -5 | 0 |
Penalty/Bonus
Before Tue 2/21: +1 pt/day
Deadline after 2/21: -5 pts/day
| | -50 | 5 |
| Total | | 0 | 50 |