SPIM machine description level 1 -------------------------------- These machine descriptions have been prepared by Sameera Deshpande (sameera@cse.iitb.ac.in) for the Workshop on GCC Internals (www.cse.iitb.ac.in/~uday/gcc-workshop) conducted by CFDVS and Dept. of CSE, IIT Bombay, during 18,19, and 20 June 2007. Level 1 allows supports integer variables (both local and global) and assignment statements. The expression can have addition operation. Functions may return an integer value. We list the changes required in the machine descriptions along the following headINGS. Many of the changes involve replacing function stubs more complete function. A. Memory Layout No changes. B. Supported Instructions Now we need to support: . loads and stores . addition C. Registers Now we need to ensure that if constant 0 appears on the right hand side, register $zero is used for the purpose. D. Addressing Modes All possible addressing modes are supported for the above instruction. This does not require any change because it gets specified as a part of the instructions. E. Activation Record Conventions No change. F. Assembly output format Here we need to output global declarations. Since a variable name may conflict with a reserved word in the assembly, we prefix an "_" to each variable name.