This assignment asks you to pit your programming skills against that of the Visual C++ compiler on two small applications, the List functions (Assignment 4) and the string utilities (from the C textbook).
Code the head, tail, and member functions form Assignment 4 in assembler; name them ahead, atail, and amember. (You may want to consult p. 135-138 of Carter's notes regarding structures.) Compare the speed of
puts in duration the time required for blahblahblah.)start = clock();
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
Tabulate, as accurately as you can, the time required (in nanoseconds) for a call to head/ahead, for a call to tail/atail, and for a call to member/amember. For member/amember, the time should be stated as a function of the length of the list. It is recommended that you run the program several times to make sure you are getting (roughly) consistent times; you may find the times for the first run somewhat different from later runs.
Perform the same analysis for the string functions strcpy,strcmp, and strchr. Compare
This assignment is due on November 26th and is worth 15 points. If, for at least one function, you beat the speed of the optimized C compiler by at least 10% with your assembly code, you get one more point. As usual, there is a penalty of 1/2 point for each day late.
Email your assignment to the grader. This includes all your code
and a 1-2 page write-up (in Word format) describing your results. Show
the raw data you obtained and the computed times. Please include the type
and speed of the CPU you are running. Include your name and "Asgn
5" in the subject line.