Demonstrate your understanding of Assembly in relation to other languages, your ability to apply existing ARM64 assembly mnemonics and techniques to a specific purpose, and to demonstrate the ability to research new elements/properties of assembly/processors and implement examples based on that research.  Your deliverables for the project will include, functional ARM64 assembly code demonstrating the required elements listed below, build/make files for the code, a text description of what is happening in the code as supported by analysis via GDB, and a short, but descriptive presentation of your work in class.

You may determine the context, order, and any linkages between the required elements listed below, but you must demonstrate all the elements in one file.  You may use online resources as references, but you may not copy and paste, retype verbatim, or use other similar techniques to submit someone else’s work as your own.  If you have questions about this, ask your instructor.  The required programmatic elements are as follows:

  • incorporation of a higher level/generation language such as C, C++, or Python
  • use of the floating point register
  • implementation of a bubble sort algorithm
  • ARM64/aarch64 assembly
  • good comments