I Gaining Experience and Familiarity with Assembly Language

I Gaining Experience and Familiarity with Assembly Language Programming (32-bit). Write AL code that can serve as a grade calculator for single course in a semester. 1. First write the code to supports the calculation of a letter grade for N=1 student, with K=5 raw scores. Devise your own grading table.  2. Extend to code that supports the calculation of letter grades for at least N=10 students, each with K=10 raw scores. Devise your own grading table. Also support the determination of the Minimum, Maximum, Mean scores obtained in the class, as well as the Median scores and Modes. For each letter grade, calculate the number and percent of students who received that grade.  3. (Extra Credit). Extend the code in (2) to support an arbitrary number (N) of students, each with an arbitrary number (K) of raw scores. When the application starts, it can  ask the user for the number of students taking the course, the number of tests the students are required to take, and the filename for the file in which the raw scores are kept as comma-separated-values (CSV).  4. Requirements:   All the AL code should be organized in modular fashion using PROCedures. Input parameters should be passed to procedures via the Stack, results can be returned via registers or via the Stack. If necessary, provide the code in multiple source files.   The AL code should demonstrate familiarity and facility with arithmetic operations (ADD, SUB, NEG, INC, DEC, MUL, IMUL, DIV, IDIV); logic operations (NOT, AND, OR, XOR), various modes of addressing; conditional branching; conditional and unconditional looping; shift and rotate instructions; advanced procedural programming using stack frames; use of the IO library procedures and routines. 2016. Prof. Amenyo. CS 397. Project 2.  Page 2 of 2  II. Gaining Experience and Familiarity with Assembly Language Programming (64-bit). Convert the code written in Part (I).(2) into code for 64-bit programming. III. Document and present your design as a Technical Report in the following form: Title Author Date, Revision Number Introduction: Problem to Solve Solution. (Provide details in an Appendix) Discussion of Results Summary & Conclusions Acknowledgments, (if any) References, (if any) Appendix: Details of Design (Pseudo-code) Details of Implementation (Source code) Details of Test Cases (Test plan and Screen shots).