CS306 Processing Systems and Structures Lockwood, Spring 2003

Machine Problem 3: Grading Report

Please visit a TA in the Urbauer 115 Laboratory during Lab Hours and ask him or her
to complete and submit this form when you demonstrate your machine problem.

The TA should: check your solutions and complete all fields on this form.

Once this form is submitted, use your own machine to upload code for your machine problem

Student ID Use same ID as selected in HW0. Enter in ALL CAPS
Student Name (first)
(last)

Preliminary Steps

CategoryPointsMinMax
PrintBuffer
  • Prints out the contents of the buffer to the screen in ASCII.
  • Prints out the contents of the buffer in HEX.
0 10
ReadBuffer
  • Read input from the keyboard.
  • Allows backspacing, but prevents underflow.
  • Properly handles carriage returns when reading ASCII, Decimal or HEX.
  • Ignores line feeds.
  • Rejects invalid input and beeps.
  • Prevents overflow of the buffer.
0 20
CodeBuffer
  • Calls ExpModN to encode or decode the buffer.
0 6
ExpModN
  • Calculates y^x%z
  • Return value is always less than z.
0 10
CheckPrime
  • Checks to see if a number is prime.
  • Sets ZF=0 if prime.
0 10
ReadPublicKeys
  • Sets Variables n and e.
  • Rejects n if n < 128.
  • Rejects e if e > n.
0 10
ReadKeys
  • Reads values for p, q, and e.
  • Displays proper ranges where appropriate, and rejects any input is not within that range.
  • Sets n and d appropriatly.
  • Displays the new values of the keys.
  • Allows e to be a NON-prime number, as long as it is RELATIVELY prime to (p-1)*(q-1).
    Example: p=17, q=13, (17-1)*(13-1)=192.
    Allows: e=25 and calculates d=169
0 20
GetD
  • Calculates the modular inverse of e.
  • If e has no inverse, returns 0.
0 14
Sub-Total PointsMinMax
Total (Add all scores above, then subtract 50 points) 050
PenalitiesPointsMinMax
Comments (* percentage of code written)
  • Clear and precise line & procedure comments
    (describes all major routines): -0
  • Sports Announcer comments (line-by-line): -1
  • Unclear comments: -1
  • Sparse comments: -3
-50
Technique & Style (* percentage of code written)
  • Compact and Efficient code: -0
  • Contains repeated code (lacks loops): -3
  • Makes poor use of registers and/or variables: -2
-50
I/O Specs & Modularity (* percentage of code written)
  • Violates specifications for given subroutines: -5
-50
Late or Early BonusPointsMinMax
Before 5pm on deadline: +1 point/weekday
After 5pm on deadline: -10 points/weekday
-505
Total ScorePointsMinMax
Total (Sum of scores) 055
TA Remarks