Math 230: Assembly Language Programming


Course Information | Assignments | Exercises | Lectures | Administration

SCHEDULE OF LECTURES

Here is a tentative list of lectures and the slides used in class. Students are fully responsible for all material presented in lectures, even if some of it does not appear in these slides. These slides are intended for the lecture presentations; for reference, see the corresponding chapters in The C Programming Language, (K&R) or in Computer Organization and Design, (P&H), and the online handouts. An effective strategy is to look over the indicated chapter before the lecture, then read it in detail soon afterwards.

Lectures

  1. Course Overview
  2. Data representation
  3. C Programming
  4. C Pointers and arrays
  5. C Strings and malloc
  6. C Data Structures
  7. Linked Lists
  8. Memory Management
  9. MIPS Introduction
  10. MIPS data transfer and memory addressing
  11. MIPS branching
  12. MIPS branching 2
  13. MIPS procedures
    Floating Point I
    Floating Point II
    MIPS Instruction Format III
    Compilation, Assembly, Linking
    Compilation, Assembly, Linking II
    Introduction to Synchronous Digital Systems
    State Elements
    Spring Break Combinational Logic
    Combinational Logic II
    Combinational Logic Blocks
    Combinational Logic Blocks II
    CPU Design: Single-cycle I
    CPU Design: Control
    CPU Design: Pipelining I
    Caches I
    Caches II
    Virtual Memory
    I/O Basics (Polling & Interrupts)
    I/O Networks
    I/O Disks
    CPU Performance
    Distributed Computing
    Course Review