Your job on this homework is to write an ARM assembly language program that will
implement the merge sort algorithm, which is described below.
You should write the program directly in ARM, with lots of appropriate comments, rather
than writing it in C and having the compiler create the ARM code for you|remember,
For simplicity, the list of numbers to be sorted should be \hard-coded?? into a segment of
memory, and the sorted list should end up in those same memory cells.
Turn in your file, named mergsort.s, either on a
floppy disk or by email attachment. Be
sure that your program has appropriate comments.
The merge sort algorithm is recursive, and must, for the purposes of this assignment, be
implemented using subroutine calls. To \merge sort?? a list, simply split it into two lists
that are within 1 of having the same length (if the list being sorted has an odd number of
items in it, one of the \half?? lists will have one less item than the other), recursively merge
sort the two lists separately, and then merge the two sorted lists into one sorted list.
Note that if you have two sorted lists, it is relatively easy to combine them into a single
sorted list, using an area of auxiliary memory.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
## Platform
Arm running on windows.