Submission Instructions for Homework 4


Code turnin deadline: Thursday, October 28, 1999 at 5pm PDT.

Similar to last time, your HW4 will be due at 5pm. Although last time we were forgiving if you were a couple minutes after the deadline, this time we will not be. If you are late, you will have a substantial deduction from your grade. If you are concerned, then turn in a copy about 15 minutes early to make sure you have SOMETHING in before the deadline. Again, a non-working well-commented program is better than any form of late program.

There is no excuse for not knowing how to use the turnin program this time. If you are REALLY struggling with getting your code turned in, e-mail cgordon@cs or tjames@cs with your code before the deadline and a description of your problem.

The paper portion is still due in section. Not at 5pm.

Call the file you turn in jvm.s. If you are turning in multiple files, include a README explaining what is in each file. Your main function should be in jvm.s.

You should turn in all of your assembly files with NO HEADERS. Do not include our skeleton, nor your own. We will have a main function and a data section of our own. We will send our bytecodes to your program in $a0. We will jal to a function called JVM, as we did in the skeleton.

Basically, assume that we will have a skeleton such as the one we gave you. We want to just cut and paste the code you give us into our skeleton and have it work the first time. You will lose points if you do not follow these instructions.

Be sure to save your s registers ($s0-$s7) on the stack if you are going to use them in your virtual machine. Our main function may depend on the s registers. Many of you did not save your s registers on the stack in your previous programming assignment. We did not deduct points, but we will deduct points this time. (Once you are in your virtual machine, you may follow whatever conventions you like, but make sure to respect the caller of your JVM function through the MIPS calling conventions.)

We will not pass you an invalid string of bytecodes. Don't worry about invalid cases (unless you really want to).

As with last time, if you deviate from this standard, include a README file to explain how you deviated and what we need to do to properly execute your program.

If you need help on the turnin program, click here.