University of San Francisco
CS235 - Systems Programming
Spring 2002
Instructor: Alex Fedosov [homepage]
May 15, 2002 -- Final Exam at 3:30 pm
Good Luck!
May 8, 2002 -- Final Review
Study Guide
May 6, 2002 -- Combining C and Assembly
Demo 22: hello.S
Demo 23: mysum.asm
sumtest.c
May 1, 2002 -- Parallel port
Demo 21: lpt.c
April 29, 2002 -- Protected Mode Programming
Demo 20: pmhello.asm
April 24, 2002 -- Socket Programming
Demo 19:
Simple Server simserv.c
Simple Client simcli.c
Project 4
April 22, 2002 -- Go over Midterm II, networking
April 17, 2002 -- Midterm II
April 15, 2002 -- Midterm II Review
Midterm Study Guide
April 10, 2002 -- Static, shared, and dynamic libraries
Demo 18:
libtstamp.c (library
implementation)
timestamp2.c (static / shared test
program)
timestamp3.c (dynamically loaded
test program)
April 8, 2002 -- End of kernel modules. Libraries
Demo 17: cpuspeed.c
April 3, 2002 -- More on Linux kernel modules and some bad assembly
Demo 16: timestamp.c
April 1, 2002 -- More on Linux kernel modules and device drivers
March 20, 2002 -- Linux kernel modules
Demo 13: environ.c
Demo 14: noise.c
Demo 15: foo.c footest.c
Project 3
Project 3 compiled data files (binary) hbday.bin
mary.bin
Project 3 source data file (asm) hbday.asm
mary.asm
March 18, 2002 -- More C tidbits; System Calls
March 13, 2002 -- Intro to Linux; C review
March 11, 2002 -- Going over Midterm
March 6, 2002 -- Midterm 1
March 4, 2002 -- Midterm Review
February 27, 2002 -- FAT file system
Demo 12: minikybd.asm
Handouts: FAT32 file system, midterm I study guide
February 25, 2002 -- More keyboard
Demo 10: fastdir.asm
Demo 11: staybusy.asm
February 20, 2002 -- Keyboard
Demo 9: isrhook.asm
Handouts: Keyboard scan codes, ring buffer diagram
Project 2
February 13, 2002 -- PC Speaker (finally!)
Demo 7: tone.asm
Demo 8: scale.asm
Handouts: Musical notes frequency, keyboard diagram
February 11, 2002 -- Timing (last part)
Demo 3: rdtsc.asm
Demo 4: delay50.asm
Demo 5: outdelay.asm
Demo 6: cpuspeed.asm
February 6, 2002 -- Timers and Timing Continued
Demo 2: showtime.asm
Handouts: Timer diagram and Timer port definitions
February 4, 2002 -- More Interrupts and Timers
Reading: Sections 5.4, 15.3, 15.5, Appendix G.1
Handout: Timer Tick ISR excerpt
January 30, 2002 -- Interrupts
Interrupt Article -- come by my office to get a copy
January 28, 2002 -- Initialization and Boot Loaders
Project 1
Demo 1: tryboot.asm
References for Project 1:
- Section 10.2 (for string instructions)
- Section 5.6 (for BIOS keyboard input)
- Section 5.7 (for BIOS video output)
- Handout on int 13h (for BIOS disk services)
- Handout on Boot Sector format
January 23, 2002 -- Introduction to Systems Programming
Syllabus
Schedule