Answered step by step
Verified Expert Solution
Question
1 Approved Answer
CS413 Lab 2 ARM Stack Program Areas of Plane Shapes Calculator The purpose of this program is to get the student to use the stack
CS413 Lab 2 ARM Stack Program Areas of Plane Shapes Calculator The purpose of this program is to get the student to use the stack to pass parameters to and from their own defined subroutines/functions in ARM Assembly. Write an ARM Assembly program that will calculate the area of the following four plane shapes: a) Triangle b) Rectangle c) Trapezoid d) Square All number inputs are integers and all calculation results are provided in integer format. Any fractional calculations are to be truncated. The program must all meet the following requirements: 1. Each area calculation must be accessed as a subroutine/function (ARM instruction BL). 2. The operands are passed to the function via the stack. Use the ARM pseudo instructions PUSH and POP. To ensure you are properly implementing the stack the registers used in your main routine to hold the operands must be different than those used in the subroutines. For example, your calling routine will push 14 and 15 on the stack but the called routine will pop into registers r10 and rll. 3. The function returns the results on the top of the stack. 4. Your program is to print a welcome/instruction messages to the user. 5. The user is prompted to enter the calculation type and the appropriate number of positive integers. 6. The program shall verify the user input is valid and report any entry errors. Ensure your program checks for non-integer inputs (string, floating-point, characters). Invalid entries are reported and user prompted again to enter a valid input. 7. The program shall perform the calculation, display the results and report any overflow errors. Overflow is when the results do not fit into 32-bit unsigned format. 8. Ask the user if they want to continue with another calculation or quit the program. The GTAs will run your program to ensure correct functioning and will also review your code to ensure you have properly implemented the functions and stacks. CS413 Lab 2 ARM Stack Program Areas of Plane Shapes Calculator The purpose of this program is to get the student to use the stack to pass parameters to and from their own defined subroutines/functions in ARM Assembly. Write an ARM Assembly program that will calculate the area of the following four plane shapes: a) Triangle b) Rectangle c) Trapezoid d) Square All number inputs are integers and all calculation results are provided in integer format. Any fractional calculations are to be truncated. The program must all meet the following requirements: 1. Each area calculation must be accessed as a subroutine/function (ARM instruction BL). 2. The operands are passed to the function via the stack. Use the ARM pseudo instructions PUSH and POP. To ensure you are properly implementing the stack the registers used in your main routine to hold the operands must be different than those used in the subroutines. For example, your calling routine will push 14 and 15 on the stack but the called routine will pop into registers r10 and rll. 3. The function returns the results on the top of the stack. 4. Your program is to print a welcome/instruction messages to the user. 5. The user is prompted to enter the calculation type and the appropriate number of positive integers. 6. The program shall verify the user input is valid and report any entry errors. Ensure your program checks for non-integer inputs (string, floating-point, characters). Invalid entries are reported and user prompted again to enter a valid input. 7. The program shall perform the calculation, display the results and report any overflow errors. Overflow is when the results do not fit into 32-bit unsigned format. 8. Ask the user if they want to continue with another calculation or quit the program. The GTAs will run your program to ensure correct functioning and will also review your code to ensure you have properly implemented the functions and stacks
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