MMIX Getting Started

Documentation, Sources, Binaries, Links, Examples, Contributions

Table of Content


How To Get Started with MMIX

The Hands-On Approach

Those of you who prefer learning in the order "first practice, then theory" should start with the Hello World Example. It gives step by step instructions for writing, assembling, and running a program on MMIX, telling you which program you need and where to download it as you go. May be having a printout of the two page MMIX Quick Reference Card ready as you go might be a good idea.

The Hello World example page contains links to further readings too. So at the end of this example, you should have a better understanding of what you should do next.

You could work through some more examples from the examples section or start reading some of the documentation, probably in that order:

The University Approach

If you prefer to sit back and digest a good book before (ever) getting your hands dirty, you should do just that. Start reading Fascicle 1 of The Art of Computer Programming, Volume 1. It's Donald Knuth's very readable introduction to MMIX. You will enjoy it! As soon as you come to the exercises section, you may skim through the Hello World Example, downloading the necessary executables as you go, or skip the example and just download the two executables you need to do the exercises: the MMIX assembler mmixal (Win32, Linux, OS X) and the MMIX instruction level simulator mmix (Win32, Linux, OS X).

The MMIX Quick Reference Card is a good companion while you write your first programs.

When you have completed the book and all the exercises, you are well past the "Getting Started" state. You can browse this site for more information and definitely should have a look at the section named "Contributing"!

Got Started Already?

If you made it past the getting started phase, either dive into The Art of Computer Programming, where you could start with Volume 4A, the first volume using MMIX from the start, or read MMIXware: A RISC Computer for the Third Millennium if you are more interested in architecture and implementation of MMIX. (The individual parts of MMIXware are available in the documentation section as pdf files, or you can produce them yourself from the MMIX sources).

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email