Difference between revisions of "Nolimips"
From LRDE
(→Documentation: Update URLs.) |
m (→Links) |
||
Line 67: | Line 67: | ||
* [[http://gavare.se/mips64emul/ mips64emul]] A very complete MIPS architecture emulator, powerfull enough to run an operating system. |
* [[http://gavare.se/mips64emul/ mips64emul]] A very complete MIPS architecture emulator, powerfull enough to run an operating system. |
||
− | * [[http://debian.speedblue.org Debian packages for cross-compiling]] ( |
+ | * [[http://debian.speedblue.org Debian packages for cross-compiling]] (''not'' required for using Nolimips) |
== '''Contact''' == |
== '''Contact''' == |
Revision as of 15:21, 10 June 2014
Summary
Nolimips is a MIPS-based simulator with "infinitely many registers". It consists of an assembler which reads MIPS assembly code, and of a virtual machine which executes the instructions processed by the assembler. For the moment Nolimips does not produce nor execute binary code, but ELF writer and loader are planned.
The main purpose of Nolimips is to help students of compilers courses to evaluate the output from their "high-level language into MIPS assembler code" compilers, before and after register allocation.
Its main features are:
- minimal support of MIPS instruction set,
- built-in system calls (string printing and reading, etc.),
- unlimited registers ($x0, $x1, etc.),
- gdb-like interactive shell.
Nolimips has been initially written by Benoît Perrot <benoit (AT) lrde.epita.fr> and maintained by the Tiger Project team since.
Downloads
Git Repository
- The Git repository is located at git://git.lrde.epita.fr/nolimips.
- You can browse it online via GitWeb.
Documentation
- See Nolimips' documentation at https://www.lrde.epita.fr/~tiger/doc/:
- HTML manual: https://www.lrde.epita.fr/~tiger/doc/nolimips.html.
- PDF manual: https://www.lrde.epita.fr/~tiger/doc/nolimips.pdf.
Tasks
General
- Use `#!nolimips [OPTIONS]' on first line for specifying options to tests. Coming soon.
- Augment test suite (with mips-gcc generated programs?).
Shell
- Improve command parsing.
- Search for possibilities of command and labels completion.
Assembler
- Generate byte code.
- Look at antlr and other LL-(k) parser generator, to check their usability, portability and improvements.
Virtual machine
- Handle exceptions more correctly.
- Emulate virtual memory.
- Look at debug dedicated hardware.
Links
- [mips64emul] A very complete MIPS architecture emulator, powerfull enough to run an operating system.
- [Debian packages for cross-compiling] (not required for using Nolimips)
Contact
Send any questions or comments to projects@lrde.org.
-- %roland% - 10 Aug 2013