CSE logo University of Washington Department of Computer Science & Engineering
 CSE 378, Winter 2007
 Machine Organization and Assembly Language Programming
  CSE Home  About Us    Search    Contact Info 

Homework 1

Out: Friday 1/5/07
Parts 1/2 Not Due: Monday 1/8/07
Part 3 Due: Friday 1/12/07


Consult this Wiki page to post a question, or to help others out by answering a question.


The purpose of this homework is to gain some familiarity with MIPS assembly language programming. You'll write a small program, then assemble it and run it on a simulated MIPS processor using the Cebollita toolset.

There are three main steps:

  1. Get everything installed and verify that it works.

  2. Learn about the assembler, linker, simulator, and miscellaneous tools provided by the Cebollita toolset. You'll use the assembler and linker to build executables, and then use the simulator to run/debug them. You will also try your hand at a little assembly programming by making minor modifications to a program we provide.

  3. Write some code in assembler, and debug and run it.

Part 1: Getting Everything Set Up

The first step is to make sure you have all the software you need, and that you've correctly made a few settings that are required for the software to run. This is an absolutely essential first step, and to emphasize that there's no point going further until it's done, it's described on a separate page.

Part 2: Cebollita Exercises

This is a set of exercises that lead you through the steps required to use Cebollita to assemble, link, run, and debug assembler code. Assuming you follow the directions, and things work as expected, they shouldn't take you long to complete. However, as usual with computing systems, the number of things that could go wrong, or be confusing, is astronomical. Even though there's nothing to hand in for this, I strongly recommmend going through them before moving on to the last part of the assignment, with a due date of class time Monday, 1/8.

Go to the exercises.

Part 3: Cebollita Programming

Here's your chance to write some interesting assembler code, that you will turn in.

Go to the programming assignment..


Use turnin on attu to submit your mipsSim.s file:

[attu4] $ turnin -c cse378 mipsSim.s
turnin will start ignoring your attempts to submit homework at midnight Friday. (Late submissions, including use of extension days, will be by mail.)

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 License.
Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to zahorjan]