Click
to go to ENCM 369 Winter 2009 HOME PAGE
List of ENCM 369 Winter 2009 Lab Assignment Instructions
(and Corrections to Instructions)
This page is maintained by
Steve Norman
Last modified: Tue Apr 7 12:38:21 MDT 2009
Lab handouts will all be in PDF format.
- Lab 1,
for the week of Jan. 19
- Lab 2,
for the week of Jan. 26
(Update, Jan. 26 around 3:10pm: Until now, the
directory /local/courses/encm369/docs
and the file HP_AppA.pdf were missing.
I have fixed that; sorry for any confusion or inconvenience.)
- Lab 3,
for the week of Feb. 2
Note: You can't use add as the name of a procedure,
so in Exercise D you should rename the add function
to something like add_func.
- Lab 4,
for the week of Feb. 9
(Correction, Feb. 8, around 1:10pm:
In Exercise E the string constants in the C function
do_some_tests don't match what the
code is actually doing.
You may either translate the C code exactly as it was
given, or make a suitable correction.)
- Lab 5,
for the week of Feb. 23.
Minor correction: Page 2 of the handout says that Section 2.12
of the textbook discusses compiler optimization, but the handout
should say Section 2.15.
- Lab 6,
for the week of Mar. 2
- Lab 7,
for the week of Mar. 9
(Correction, Mar. 9, around 9:40am:
In Exercise D, the second number in the second pair of
numbers given to you to multiply does not make sense.
Please change the bit patterns to be 00111000 and 00111000.
- Lab 8,
for the week of Mar. 16
- Lab 9,
for the week of Mar. 23
- Lab 10,
for the week of Mar. 30
-
Correction, Mar. 28, around 7:15pm:
In the two assembly language fragments near the upper
left corner of page 4,
both slt instructions are wrong.
In both cases, this:
slt $t1, $zero, $t0
should be replaced with this:
slt $t1, $t0, $zero
The loop is supposed to count negative array elements, and
the way I originally wrote it, it counted positive elements.)
-
Another correction, Mar. 30, around 9:20am:
In Exercise A, I should have written,
``The Data Memory word at address
0x7fff_ff14
is 0x1122_3344.''
(The incorrect address of 0x7fff_ff20 probably came from
careless mixing of base ten and base sixteen numbers.)
-
Yet another correction, Mar. 30, around 3:15pm:
In Exercise D, I should have written
addu $t9, $t9, $t1 # add slt result to count
where I had
addiu $t9, $t9, $t1 # add slt result to count
(By the way, gcc generated correct code--I just
failed to remember what that correct code was!)
- Labs 11 and 12,
for the weeks of Apr. 6 and 13
(Correction, Apr. 9, around 12:40pm:
In Exercise 11G, the second-last sentence in
What To Do
should read,
``Make a copy of binread.c and modify it so
that it can correctly read the data in
ppc_binwrite_output.''
(The name of the data file was wrong on the handout.)