Question
Project 2 Choose one (1) of the following applications and provide a complete Assembly Language program implementation, a) 32-bit and b) 64-bit. App1: Geometric Shape
Project 2
Choose one (1) of the following applications and provide a complete Assembly Language program implementation, a) 32-bit and b) 64-bit.
App1: Geometric Shape Calculator Companion.
App 2: Computation Companion
App 3: Arithmetic, Logical and Relational Calculator Companion
App 4: Translator Companion, (various)
App5: Code and Histogram Analytics
The project details (design, implementation, code, runs) should show evidence of technical proficiency with the following technological aspects:
1. a)Implementation using 32-bit programming.
b)Re-implement using 64-bit programming.
2. Test plan; test cases implementing the test plan and screen shots displaying the executing the test cases.
Note: a test plan should include various Normal, Boundary and Error cases .
3. Modular organization using procedures, subroutines and functions (PROC, ENDP, CALL, RET).
4. Use of the system Stack to save and restore register values, pass arguments, receive results (PUSH, POP).
5. Use of conditional control structures (Jcond, LoopCond, Boolean operations)
6. Use of Arithmetic operations.
7. A clear and comprehensive Project Report, for example, following the outline provided in Appendix B 2017.
Appendix A:
Application Domains
App1: Geometric Shape Calculator Companion.
Support the interactive calculation of geometrical attributes, such as perimeter, circumference, area, volume, tests and verifications of defining (idiosyncratic) characteristic or signature, for various 2-dim and 3-dim shapes, such as:
Triangle: distinguish equilateral, right, isoceles triangles.
Quadrilateral: distinguish rectangle, square, parallelogram, rhombus
Circle
Ellipse
Sphere
Cylinder Pyramid: distinguish with circular base, with rectangular base
Notes:
a. Only integer, Boolean and relational operations are available a. Use an integer Symbolic value PI = 3, where needed.
b. Any answer requiring a square root should be expressed in terms of squares.
c. Any final result of a division should be expressed in terms of quotient and remainder.
App 2: Computation Companion.
Help with various calculations, including:
a. Maximum of 3 integer values.
b. Minimum of 3 integer values.
c. Median of 3 integer values
d. Harmonic mean of x and y = 2xy / (x+y)
e. Discriminant of a, b, c = b*b - (4*a*c)
f. Determine the value of N for which 12 + 22 + ... + N2 > T (T is given).
g. Given number of cents (of monetary value, V)
entered on the keyboard, calculate the number of:
$100 bills, $50 bills, $20 bills, $10 bills, $5 bills, $1 bills, half dollars, quarters, dimes, nickels, cents in V.
Let 50,000 < V < 10,000,000.
h. Given a time amount in seconds S, express the value in terms of days, hours, minutes and seconds. i. 1/R = 1/R1 + 1/R2 + ... + 1/RN (N is given). Calculate R.
App 3: Arithmetic, Logical and Relational Calculator Companion .
An interactive application that allows a user to perform Calculator operations, including:
Arithmetic: +, -, *, /, max, min, zero?, odd?, even?, negative?, mean,
Boolean (logical): and, or, not, nand, nor, xor, nxor / xnor, etc. (17 overall)
Relational: >, <, =, !=, >=, <=, !>, !<, !>=, !<=
Array manipulation: Given an NxN "currency conversion" matrix(C), convert various currency values provided as a set of (K) NxN matrices: V1, ..., VK. For example, Wk[i,j] = C[i,j] * Vk[i,j], k=1,...,K; i,j=1,...,N.
App 4: Translator Companion, (various)
a. Encryption:
digit: 0 1 2 3 4 5 6 7 8 9
encryption: 4 6 9 5 0 3 1 8 7 2
b. Encryption (generalized):
given the digits {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F},
the translation (encoding, encryption) is ANY specified permutation of the 16 digts.
c. ITU phonetic alphabet
App5: Code and Histogram Analytics
a)
*) Choose an alphabet or code set with K numbers or letters, A = {A1, A2, ..., AK}, for example, (K=8), for example: A = {2, 3, 5, 7, 8, 15, 21, 33}.
*) Consider a sequence or data stream of at least N values (K < N < 200), each value is from the code set,
for example: D = 15, 3, 2, 2, 8, 21, 2, 5, 5, 5, 8, 7, 21, 33, 2, 15, 33, 2, 5, 7, 8, 8, 15, 3, 8.
*) Process the sequence to determine or count the number of times each element of the alphabet or code set occurs in the sequence
*) Let the frequency counts obtained be F = {F1, F2, ..., FK}
*) Construct the "histogram": H = {A1*F1, A2*F2, ..., AK*FK} 2017.
*) Construct the "weighted" sum: S = A1*F1 + A2*F2 + AK*FK
*) Construct the "average" or mean: M = S / N, express as M = {Mq, Mr}, Mq = quotient, Mr = remainder
*) Construct a "generating function" using the base or radix B (B=8): G = 1 + F1*B^1 + F2*B^2 + ... + FK*B^K
*) Display the results: G, H, F, M, S, D, A, K, N
b) Suppose there is a collection of coins in a jar, (pennies, nickels, dimes, quarters, 50-cent pieces, dollar coins), and one wants to know the total value of the coins, and how many coins there are. Use the following pseudo-code to determine the required information:
Prompt for and input the number of pennies
total = number of pennies
numberOfCoins = number of pennies
Prompt for and input the number of nickels
total = total + number of nickels
numberOfCoins = numberOfCoins + number of nickels etc.
Display the following results:
Total value:
Number of Coins:
Number of Dollar Coins:
Number of 50-cent pieces:
Number of Quarters:
Number of Dimes:
Number of Nickels:
Number of Pennies:
Appendix B: Template for Project Report
Title
Author
Revision Introduction: Problem Statement
Method: Design, Pseudo-code(s); place actual pseudo-codes in the Appendix
Solution:Assembly Language Implementations; place actual Assembly Language source codes in the Appendix
Results and Discussion: Test Plan(s), Snapshots (screen shots) of Running of Test Cases; place Test Plans in the
Appendix
Summary and Conclusions
Acknowledgements
References
Appendix:
Pseudo-codes
Assembly source codes
Test plans. Test Case runs, screen shots
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored 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