Submission Instructions for Homework 5


Check back frequently. This document will be updated. (Last updated 10/28/99, 5:30pm)

Code turnin deadline: Thursday, November 4, 1999 at 5pm PST.

Similar to last time, your HW5 will be due at 5pm. 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.

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

array.jvm should contain your bytecode in a format such as that output by the jvm-assemble program I e-mailed about earlier. That is, I should be able to copy and paste your bytecode to the tj_bytecode location. So here are some examples of acceptable formats:

tim:
.byte	0x23
.byte	0x2e
.byte	0x99, 0x00, 0x08
.byte	0x00
end_tim:

OR

.byte	0x12, 0x9a, 0x05, 0x35, 0x23, 0x00

OR

.byte	0x23
.byte	0x99
.byte	0x9a
.byte	0x23
.byte	0x00

Basically, just make it so it will be easy for your TAs to copy and paste it into the data section of the main program.

When we test your program, we will be using your bytecode in our tj_bytecode section, and we will be replacing your array with our own arrays. We will probably run your JVM several times on different arrays, so don't assume your registers will have "0" in them as many have assumed in previous projects.

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.)

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.