COSC-2425 Programming Project Four
One of the very practical uses of assembly language programming is its ability to optimize the speed and size of computer programs. While programmers do not typically write large-scale applications in assembly language, it is not uncommon to solve a performance bottle neck by replacing code written in a high level language with an assembly language procedure.
In this programming project you will be given a C++ program that generates an array of pseudorandom integers and sorts the array using the selection sort algorithm.
Your job is to write an assembly language procedure that also sorts the array of pseudorandom integers using the selection sort algorithm. The C++ program will time multiple repetitions of the sort performed by both the C++ code and your assembly language procedure. The C++ program will compare the result. If all goes as expected, your assembly language procedure should be faster than the C++ code.
Chapter 13 of your textbook contains a discussion of how to interface an assembly language procedure with a high-level programming language like C++.
The Visual Studio solution for the C++ program that you are given has been packaged and compressed into a file called “[login to view URL]”. Create a location on your computer for this project. Download the compressed file, “[login to view URL]”, and unpack it into that location in your computer.
Look in the unpacked folder for a file named “[login to view URL]”. The “.sln” file extension stands for solution. Double clicking on this file will start up the Visual Studio solution for ProjectFour and allow you to execute the C++ program.
Modify ProjectFour by following these steps:
1. Click on the project name, “ProjectFour” in the Solution Explorer pane.
2. Click on the “Project” choice in the menu bar at the top of the screen.
3. Select “Build Customizations”.
4. In the Visual C++ Build Customization Files dialog box, check the checkbox next to masm(.targets,.props). Choose OK to save your selection and close the dialog box.
5. On the menu bar, choose “Project”, then choose “Add Existing Item”.
6. In the Add New Item dialog box, select the file named “[login to view URL]”. Choose Add to add the file to your project and close the dialog box.
Use Ctrl+F5 or click on “Debug” in the Menu Bar followed by “Start Without Debugging” to execute the program. The MASM assembler will assemble [login to view URL] into an object file that is then linked into your project.