Week |
Topics |
Reading
|
Week 1 9/05
|
|
Chapter 1 in the Art of Assembly.
Also Chapter 3, Sections 0 to 3.1.2.
Sections 1.3.1, 1.3.2, 1.3.3, 1.3.4, and 1.3.5 in Carter's PC Assembly Language.
|
Week 2 9/08
|
- First introduction to the Pentium processor. Registers, ALU, Control Unit, Busses, Memory
- Exercises on binary, decimal, hexadecimal system
- Bin/Dec/Hex converter
- Listing file with assembly and opcodes
- Step by Step execution of instructions
- Exercise on reverse engineering. Solution
- The mov instruction. Syntax. Operands
- Units of storage: nybble, byte, word, double-word
- The add instruction.
- Using the ddd debugger
|
|
Week 3 9/15
|
- Review of last lab
- new instructions
- Binary adders, Boolean Algebra, and the ALU
- Signed and unsigned numbers
|
Signed and unsigned numbers are covered in
Sections 1.7 and 1.8 and
Chap. 2
Boolean Algebra
|
Week 4 9/22
|
|
- The signed and unsigned representations of numbers are covered in Sections 1.7 and 1.8 of The Art of Assembly, and in Chapter 2 of Carter's PC Assembly Language.
- Addressing modes are covered in Chapter 4 of The Art of Assembly. We won't cover "Displacement Only Addressing" modes (Section 4.6.2.1). Mentally replace 16-bit registers by 32-bit registers when reading this section.
|
Week 5 9/29
|
- Arduino hardware info
- Addressing modes
- inherent
- register
- immediate
- direct
- indirect/based/indexed
- indirect with displacement
- base-indexed
- base-indexed with displacement
- Ascii Table
- Exercises on addressing modes
- SHR and ADC instructions.
- BMP processing programs and picture files.
|
Read/continue reading on Addressing Modes
|
Week 6 10/06
|
- Monday: Burton B17: Lab #5
- Wednesday: Bass 102
- -----------
- Exploring the schematics of the Arduino
- Recipes of simple circuits
- -----------
- More logic instructions AND, OR, NOT, XOR, SHL, SHR.
- HelpPC resource
- Friday
- Burton B17: Project early proposal (5min)
|
|
Week 7 10/13
|
- Fall Break--No class on Monday
- Wednesday: Continuation of Lab #5
- Friday : in-class Midterm Exam. Midterm Prep
-
|
|
Week 8 10/20
|
- Monday (Bass):
- Friday (Burton): Project final proposal (10 min)
|
|
Week 9 10/27
|
- Wednesday:
- Friday: Lab in Burton: communication between PC and Arduino
|
|
Week 10 11/03
|
|
- Linux System Calls. Section 1.1 shows the equivalence between registers and parameters. Section 3.3 explains how to interpret the parameters used by a system call. Appendix A lists all the system calls and the parameters.
|
Week 11 11/10
|
- Monday
- Wednesday: Lab in Burton
- Friday: no class (work on your project!!!)
|
|
Week 12 11/17
|
- Monday
- Recursion and reentrancy. Reentrant programs must not modify global variables!
- Recursion rule: 1) stopping condition, 2) recurse on a smaller problem than one given.
- factorial.asm
- Wednesday
- Two programs related to the current hw assignment: driver2.c, and writeIntegerAtIndex.asm
- Lab in Burton: Make it work! Develop the hardware/software pairs: each hardware sensor should have an assembly language routine that either knows how to read from it, or to write to it.
- Friday: Presentation of working hardware
|
- the LEA instruction: an more powerful alternative to mov when loading up a vector.
- Section 2.1.3 of Carter's Assembly Manual on the MUL instruction (and IMUL).
|
Week 13 11/24
|
- Monday:
- Presentation of working projects (carry over from Friday)
- Current homework ( binary search)
- recursion
- simulating communication with an Arduino stamp
- Wednesday: Thanksgiving break
- Friday: Thanksgiving break
|
|
Week 14 12/01
|
- Monday:
- Hardware Interrupts (simplified)
- Sharing interrupts
- Interrupting the processor
- Processor response to an interrupt and stack usage
- Wednesday
- Playing wav files
- Interrupts:
- Priority encoder
- Some numbers related to Hard-disk project
- Average response time
- Alternatives to interrupts: polling
- Arduino Interrupt-related functions
- Friday
|
- Article on number of interrupts, context swaps, read/write operations per second in a typical Windows machine.
- PPT Presentation on interrupts from Carleton.
- Chapter 9 of O'Reilly's Linux Device Drivers. Good for general overview. Don't worry about the details.
|
Week 15 12/08
|
- Monday: Floating-point numbers
- Wednesday: Last Class
- Thursday: Pre-examination begins
|
|
Week 16 12/15
|
- Monday: Pre-examination ends (DT away)
- Tuesday: Exam Period
- Wednesday: Exam Period 12:00p.m.--2:00p.m. Project Presentation in B17
- Thursday: Exam Period
- Friday: Exam Period (last day of the semester)
|
|