The RVM for the DCoreWars game does not need to implement the entire MIPS instruction set. In particular, it need not handle the floating point instructions or any of the other special coprocessor instructions. The RVM MUST support at least the instructions given in Table 1 in Appendix A and the system calls given in Table 2 in Appendix A.
In addition, the RVM MUST support a set ``extended'' instructions that are specific to this project and are not part of the standard MIPS instruction set. Each of these instructions displaces one of the existing MIPS instructions that will not be implemented in the RVM, employing the same bit representation as the standard MIPS instruction. The extended instructions are specified in Table 3 in Appendix A.
The assembly language is not required to support the more sophisticated features of common MIPS assemblers such as conditional assembly, pseudoinstructions, directives, pragmas, etc., but the design team may choose to implement some such features if they desire. All such features MUST be documented in the design and user documentation.
Terran Lane 2004-03-29