ARMv8 A64 assembly language small project
$30-250 USD
Płatność przy odbiorze
Basic Assembly Language Programming
Create an ARMv8 A64 assembly language program that finds the maximum of y = -3x3 − 24x2 + 13x + 31 in the range −8 ≤ x ≤ 5, by stepping through the range one by one in a loop and testing. Use only long integers for x, and do not factor the expression. Use the printf() function to display to the screen the values of x, y and the current maximum on each iteration of your loop.
You are to create 2 versions of your program:
1. Write the program without macros (i.e. don't use m4), and use only the mul, add, and mov instructions to do your calculations. Use a pre-test loop, where the test is at the top of the loop.
2. Optimize the above program by putting the loop test at the bottom of the loop (make sure it is still a pre-test loop), and by making use of the madd instruction. Also, add macros to the above program to make it more readable (use m4). In particular, provide macros for heavily used registers.
Running Your Program
To verify that your assembly language program works, run both versions under gdb, capturing output from each session using the script UNIX command. For version 1, single step through the program (use ni) for at least one iteration of your loop, displaying the instruction being executed (use display/i $pc). Also print out the contents of particular registers (use p) at key points in your program to show that it is working as expected. For version 2, set a breakpoint just after the place where the final result is calculated, and then print out the maximum. Do not single step through this version.
Other Requirements
Make sure your code is properly formatted into columns, is readable and fully documented, and includes identifying information at the top of each file. You must comment each line of assembly code. Your code should also be well designed: make sure it is well organized, clear, and concise.
Name your programs assign1a.s and [login to view URL], and your scripts [login to view URL] and script2.txt.
Numer ID Projektu: #12953910
O projekcie
8 freelancerów złożyło ofertę za $175 w tym projekcie
Dear client, how are you? I am a C/C++ programmer and mathematician. Seems task is VERY APPROPRIATE for me. Please check my "Profile & Work List" and tell me details if my skill is in your concern. Looking forward Więcej
Hello. Employer. I have read and understood the project. I'm an Expert in Data Structures and Algorithms. And I know well Assembly and C. I'm interested this project. So, firstly I want to discuss with you abou Więcej
Hello! Please check my profile/reviews to know a bit about me. It would be great if I could help you out. Thank you! 31 January 2017