There is not much code to write:
Codegen::munchMove
(src/codegen/mips/codegen.cc)
SpimAssembly::move_build
(src/codegen/mips/spim-assembly.cc):
build a move instruction using MIPS 2000 standard instruction set.
SpimAssembly::binop_build
(src/codegen/mips/spim-assembly.cc):
build arithmetic binary operations (addition, multiplication, etc.)
using MIPS 2000 standard instruction set.
SpimAssembly::load_build
, SpimAssembly::store_build
(src/codegen/mips/spim-assembly.cc):
build a load (respectively a store) instruction using MIPS
2000 standard instruction set. Here, the indirect addressing mode is
used.
SpimAssembly::cjump_build
(src/codegen/mips/spim-assembly.cc):
translate conditional branch instructions (branch if equal, if lower
than, etc.) into MIPS 2000 assembly.
strcmp
print_int
substring
concat
Information on MIPS 2000 assembly instructions may be found in SPIM manual.
Completing the following routines will be needed during register allocation only (voir T9):
Codegen::allocate_frame
(src/codegen/mips/codegen.cc)
Codegen::rewrite_program
(src/codegen/mips/codegen.cc)