This course meets from 3:05-4:20 PM TTh in Business 39. The textbook will be
A Programmer's View of Computer Architecture, by James Goodman
and Karen Miller. It comes with a software package named
which simulates a MIPS RISC computer at the assembly-language level.
If you don't understand or don't like my explanations of things, take a
look at the
University of Wisconsin's page on a similar course, including
homework assignments, exams, and lecture notes from Karen Miller,
one of our textbook authors.
is available in LaTeX,
A schedule of lectures tells
what I plan to talk about, and what I expect you to have read, by each
- Homework 1 assigned 18 Sept, due 25 Sept
- 1.8, 1.11, 1.14, 2.3, 2.12, 2.15
For problem 2.15, use a procedure to decide whether a given
character is or is not punctuation; see problem 2.13 for ideas on how to
- Homework 2 assigned 25 Sept, due 14 Oct
- 3.10, 3.12, 4.5, 4.11, 4.15
- Homework 3 assigned 21 Oct, due 6 Nov
- See separate file
- Homework 4 assigned 30 Oct, due 13 Nov
- 7.4, 7.7, 7.16, 8.4, 8.6, 8.8
(except that, as Tom points out, I already posted my solution to
8.8 on a Web page. I still recommend that you work it out on your own,
to see whether you can....)
- Homework 5 assigned 21 Nov, due 9 Dec
- 9.4, 9.6, 9.10, 9.12
10.1, 10.2, 10.5, 10.6, 10.16
For 9.4, the problem is a little unclear. Assume
that your caller passes the addresses of two integers, using
the standard MIPS argument registers.
For 9.12, feel free to do integer input using the
SAL "get" statement, although you might want to try using syscall
instead (see p. 8 of the SPIM
documentation). Write your own output routine taking two arguments:
the number to print, and the radix. This routine may use the SAL "put"
statement for characters, or "puts" for a whole string, or (again) you
may try using syscall instead.
By Tuesday, 25 Nov, you should have read through chap. 10 of the
Goodman & Miller textbook, as well as some of man spim and
In addition, please read the
MIPS assembly language examples I've written for you.
Tue Dec 2 12:54:29 EST 1997
Stephen Bloch / firstname.lastname@example.org