MIPS and assembler
- SPIM: http://pages.cs.wisc.edu/~larus/spim.html is the MIPS simulator we will
be using for our assembly language programming. You can use
PCSpim, XSpim, or just plain Spim. The page above has downloads
of compiled versions for Windows and Fedora. There is a spim
package for Ubuntu in the repositories.
- http://pages.cs.wisc.edu/~larus/HP_AppA.pdf is a reference for spim and for
the MIPS architecture. It is highly recommended. Larus, the author
of SPIM, also recommends MIPS manuals listed on the SPIM page.
- Code sourcery compiler and tools for mips. This is a complete set of basic command-line tools for MIPS development in C and assembler. (Windows and linux)
- Microchip IDE. The 8.10 version is least complicated to install. This includes a compiler, assembler, and simulator. Windows only.
-
http://courses.missouristate.edu/KenVollmar/MARS/ another simulator,
in Java. Maybe more robust than SPIM but I haven't tried it yet.
Ok, I've tried it now. Seems nice. It supports the SPIM system calls
so code should be easily portable. One difference is that it just
starts execution with the first instruction of your program rather than
using a
jal main
, so you don't need a main
but
you do need to put what you want executed first at the start of your
file.
MIPS Calling and Stack Frame Layout Conventions
Here is a discussions of the confusion surrounding MIPS stack frame layouts
as described in the textbook. Summary: it's a big mess, the rules have changed over the years,
and different compilers use slightly different conventions.
http://cs3.bu.edu/pipermail/church-hackers/2000-October/002890.html.
FORTH