CS611
Programming Assignment 4
Fall 1998


Implement in C a virtual machine to implement the mythical sim611 machine.

You will do this by implementing the function "Exec" in the file exec.c in the code distributed in the directory ~cs611/public/prog4/sim611. Code is provided to read a sim611 object file and to call the "Exec" function once the program is loaded in memory.

Points will be awarded for each test file successfully passed. Grading of a test file will be "pass/fail". That is, no partial credit will be assigned for a given test file. Either the file is processed completely correctly or it isn't.

There are eight test files in ~cs611/public/prog4:

You may lose points if your program is not properly structured or adequately documented.

Your programs will be graded using an Alpha machine (e.g. alberti) so be sure to test in that environment.

A solution to this assignment is available for execution on an Alpha as ~cs611/bin/sim611. The as611 assembler is also available for the Alpha as as ~cs611/bin/as611. You should be able to develop your solution on any machine. Object files can be built on an Alpha and then transferred to another machine for execution.

Your programs should be submitted for grading from either alberti, hopper, or christa. To turn in this assignment, type:

~cs611/bin/submit prog4 exec.c

Notes:

Submissions can be checked by typing:

~cs611/bin/scheck prog4

To receive full credit for the assignment, you must turn in your files prior to 8am on Monday November 2. Late submissions will be accepted at the penalty of 5% per day up to one week late.

Remember: as always you are expected to do your own work on this assignment.


Last modified on October 19, 1998.

Comments and questions should be directed to pjh@cs.unh.edu