CSE 378 Homework 2

Out: Wednesday 1/12/05
Due: Friday 1/21/05

Purpose

The purpose of this homework is to familiarize yourself with the Cebollita toolset, and thereby all the key ideas about compiling / linking / loading / running. 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. Finally, you'll use the Cebollita compiler to write/modify your first C-- program. All of this is just to make sure you can operate the Cebollita controls.

  3. Write some code in assembler as well as in C--, and run it.
Additionally, there is an optional fourth piece: hacking for extra credit.

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 build programs written in assembler and C--. 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.

Go to the exercises.

Part 3: Cebollita Programming

Here's your chance to write some simple assembler code, and some slightly more complicated C-- code. The assembler program calls the C-- code as a subroutine. You actually execute this code, using Cebollita.

Go to the programming assignment..

Part 4: Extra Credit

Your job is to hack a server, using your knowledge of the Cebollita procedure calling conventions. No programming is involved.

How much extra credit? Minimal (a percent of the final grade, or less).

Go to the extra credit problem description.

Turn-in

We'll use turnin to submit your modified assembly program, your modified C-- program, and a file with the answers to the questions above.