Cebollita Documentation


Cebollita is an entire system and tools package for teaching Computer Architecture. It includes a C-like language (C--), a compiler, an assembler, a linker, a loader, a utility to format a raw disk, a primitive operating system and shell, a MIPS-like ISA, and a software simulation of a machine that implements the ISA. Students implement the ISA (preferrably using SMOK). Cebollita exposes them to the interactions among all these components. Each component is simple enough that it can be modified easily, allowing design tradeoffs to be experienced, rather than just discussed.

User's Manuals

Follow the below links for user's manuals and tutorials:
  1. Setup and Downloads
  2. Using the Tools: Compiler, Assembler, Linker, Utilities
  3. MIPS Subset Simulator
  4. Tools Tutorial (Beginner)
  5. Building a Simple OS Tutorial (Advanced)


Follow the links below to specifications and file-formats.
  1. C-- Language Specification
  2. MIPS Subset Assemby Language Specification
  3. Executable and Object file format


Cebollita hackers can find the JavaDocs for the source code here.

You can also find a basic note for getting started here.

A Recipe

Cebollita means "small (green) onion" in Spanish. Real Mexican restaraunts will prepare them for you as follows:
  1. Fry them in oil on high heat until tender (doesn't take long).
  2. Sprinkle them with salt and fresh lime juice.
  3. Yum.
Simple and good. Virtues we should all strive for.

Credits & License

Copyright (c) 2002. Benedict Dugan & John Zahorjan

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Thanks also to JLex and CUP, scanner and parser generators for Java(tm).