| Mon March 29 Read: Chap 1 |
Wed March 31 Read: Chap 2.1, 2.2 Lab 1 |
Fri April 2 HW#1: 2.58 and 2.61 Read: Chap 2.3 |
| Mon April 5 HW#2: 2.74 and 2.81 Read: Chap 2.4 |
Wed April 7 Read: Chap 3.1, 3.2, 3.3 |
Fri April 9 HW#3: 2.83 and 2.86 plus: What is the largest positive integer N such that all integers in range [0,N] can be represented exactly in a 32-bit float? In a 64-bit double? Explain. Read: Chap 3.4, 3.5 |
| Mon April 12 (Project 1 due Tue April 13 9pm) |
Wed April 14 Read: 3.6, 3.7 Lab 2 |
Fri April 16 Read: 3.8 HW#4: 3.54 plus: do the same thing for the following assembly, which has the exact same structure as exercise 3.54: movl 16(%ebp), %edx movl 12(%ebp), %eax addl 8(%ebp), %eax addl %eax, %eax leal (%edx,%edx,2), %edx cmpl %edx, %eax setg %al movzbl %al, %eax |
| Mon April 19 (Read: 3.9) HW#5: 3.56, plus: Manually decompile HW5-fcall.S into two C functions funcQ() and funcP(), the prototypes of which are included as comments. Here you can ignore things starting with "." (like ".text"). See if you can create C code that doesn't use local variables; the actual C code didn't use them. We haven't yet covered %esi being callee-save or stack frame allocation by "subl $20, %esp"; these aren't essential for your task. |
Wed April 21 (Read: 3.10, 3.11, 3.12) |
Fri April 23 Skim: 3.13 |
| Mon April 26 HW #6: Problems 3.59, 3.60 in book. Also: Pick two four-letter words from the list here and then look at union.c. For each of the two words you've chosen, give the integer value (in hex) that must be used in the line "v.ii = " so that the program picks the chosen word. You must specify if you are intending this for a little or big-endian machine! Explain how you arrived at your numeric values (simply giving the number is not a sufficient answer). (Project 2 due Tue April 27 9pm) |
Wed April 28 Midterm taken during, and located according to, your lab times: AA=Wed 1:00pm-2:20pm : Wieboldt 230 BB=Wed 3:30pm-4:50pm : Cobb 116 CC=Wed 5:00pm-6:20pm : Cobb 107 Open book, open notes, don't go crazy printing stuff. Material covered: Chap 1, 2, 3 (except 3.6.6 conditional moves and 3.14 FP instructions), Projects 1 and 2, HW #1--#6 |
Fri April 30 Read: 5.1-5.6 |