CS-220, Lab 9 Spring, 2006 Due: 5-16-06 (Will not be accepted if submitted after 12:00, noon) In this lab you are to write a two module program that inputs a list of integers and computes and outputs their mean (average). The data input and the computation and display of the mean on the screen should be done in in C using the Visual Studio .NET development environment. This program should have, in addition to the main() function, one other function that computes and returns the mean. This function should be implemented as an external 80X86 (.386P, flat memory model) assembly language procedure. If, for example the function were called calc_avg, your C program module might have the following statements at the top:
#include <stdio.h> extern calc_avg(int x, int n, int* a); Here x is the array of integers input by the user and n is the number of integers input. the parameter a represents the mean computed by the function calc_avg. (Note here that the resulting mean will be an integer, since we have not covered floating point assembly language instructions.) In order to do this assignment, start with the templates given in the two example programs discussed in class: ADDCPTR.C and ADDAPTR.ASM (See the last two example programs on the CS-220 Sample Programs web page: http://www.cs.binghamton.edu/~reckert/220/220pgms.htm) You should also look very carefully at: "Using Visual Studio .NET to Create a C/ASM Mixed Module Program Project" on the CS-220 Notes web page at: http://www.cs.binghamton.edu/~reckert/220/220notes.htm When you build the project, you should should do it in such a way that an assembly/machine language listing of the code generated from the C source module is created. You should submit the following printed listings: the C source file, the assembly language source file, the .LST file for the assembly language module generated when the project was built, the .COD file containing the assembly/machine language code generated from the compilation of the C language module, and most importantly, a diskette or CD-ROM containing all the files created in the directory containing the project. The easiest way to do this is to just copy the entire project directory from the hard drive to a floppy or CD-ROM.