System Programming

Lecture Notes

9/22 Chapter 1 Background HW1 (Due: 9/28)
9/29 SIC Machine Architecture
Calling a Subroutine ,Calling a Subroutine with Arguments
HW2 (Due: 10/12)
10/6 Mid-Autumn Festival
10/13 SIC/XE Machine Architecture HW3 (Due: 10/19)
10/20 Quiz 1
10/27 2.1 Basic Assembler Functions
11/3 2.2 Machine-Dependent Assembler Features
11/10 Quiz 2, Answer
11/17 Quiz 3, Answer
2.3 Machine-Independent Assembler Features
11/24 2.3.4 Program Blocks
12/1 1st Mid-Term Exam , Answer
12/8 2.3.5 Control Sections
12/20 (½Õ½Ò) 2.4 One-Pass Assemblers
3.1 Absolute Loader
12/22 Quiz 5
3.2 Program Linking
HW4 (Due: 1/4)
12/29 2nd Mid-Term Exam , Answer
1/5 3.4 Loader Design Options HW5
1/12 Chapter 4 Macro Processors
1/19 Final Exam ,Answer

Homeworks

  1. 9x9 Multiplication Table in C language
    1. Get familiar with the editor on FreeBSD server
    2. Send an email from your Unix account
  2. HW2: Basic I/O on SIC
  3. HW3: 9x9 Multiplication Table on SIC
  4. HW4: 9x9 Multiplication Table on SIC/XE
  5. HW5: ESTAB
  6. HW6: Recursive Programming on SIC/XE

Goals of this course

  1. Know tools
  2. Learn concepts (graduate school entrance exam)
  3. Write programs

Tools on Unix

  1. DLL
  2. Dbm
  3. Ncurse
  4. Cflow
  5. Nroff
  6. Diff
  7. Make
  8. Syslog
  9. Gettext
  10. gdb with forward-backward step (hu

Related Link

Bonus

You can get extra bonus by implementing any of the following items in PHP:
  1. SIC/XE Disassembler
  2. Presentation on the "ncurse" library
  3. Presentation on the "readline" library
  4. SIC/XE Emulator (with instruction counts)