CSC 371
Systems I
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
SPIMSAL,
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.
The syllabus
is available in LaTeX,
DVI,
Postscript, and
HTML.
A schedule of lectures tells
what I plan to talk about, and what I expect you to have read, by each
class meeting.
Homework assignments
- 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
do this.
- 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.
Reading assignments
By Tuesday, 25 Nov, you should have read through chap. 10 of the
Goodman & Miller textbook, as well as some of man spim and
man xspim.
In addition, please read the
MIPS assembly language examples I've written for you.
Last modified:
Tue Dec 2 12:54:29 EST 1997
Stephen Bloch / sbloch@boethius.adelphi.edu