CS-308 (Assembly Language)            Syllabus                                  Fall 2008

Instructor - Joe Toone                                                                                     Phone (256)824-6904

Email – jtoone@cs.uah.edu

 

Text:  80x86 Assembly Language and Computer Architecture

                             By Richard C. Detmer

                             Published 2001 by Jones and Bartlett Publishers, Inc.

 

Class Hours:  Monday and Wednesday 12:45PM – 2:05PM

Office Hours: Monday through Thursday 2:30 PM – 3:30 PM and by appointment

 

Class#  Date                           Lecture                          Assignment       Due

 

  1           8/18        Representing Numeric Data in the Computer - Chapter 1                      

 

  2           8/20        Organization of the 8086 Computer Family - Chapter 2

 

  3           8/25        Hardware Components and Peripherals

 

  4           8/27        Historical and Current Processor Design

 

                 9/1        Labor Day Holliday (no class)                                        

 

  5             9/3        Introduction to 16 bit programming in assembly                                              

                             using MASM Assembler

 

 

  6             9/8        Required Components of 16 bit Assembly                         Program 1

                             Writing your first (hello world) program

 

  7           9/10        Debugging your program with DOS Debug

 

  8           9/15        Elements of 32 bit Assembly Language Programs - Chapter 3

 

  9           9/17        Debugging with Windbg - Chapter 3

 

10           9/22        Basic Instructions, addressing, and Opcodes Chapter 4

 

11           9/24        Chapter 4 concluded

 

12          9/29        Branching, Jumps, and Loops - Chapter 5                         Program 2      Program 1

 

13           10/1        Chapter 5 concluded

 

14           10/6        Midterm Exam                                                                                     MIDTERM

 

15           10/8        Controlling Program Development through

                             Procedures and Structured Programming - Chapter 6

 

16         10/13        Strings Operations - Chapter 7                                        

 

17          10/15        Chapter 7 completed                                                       Program 3      Program 2

 

18         10/20        Individual Bit Operations - Chapter 8

 

19         10/22        The Assembly Process and Macros - Chapter 9

 

20          10/27        Chapter 9 Completed

 

21          10/29        Floating Point Arithmetic - Chapter 10

 

Class#  Date                           Lecture                          Assignment       Due

 

22           11/3        The FPU completed                                                       

 

23           11/5        Decimal and BCD Arithmetic - Chapter 11                      Program 4      Program 3

 

24          11/10        Chapter 11 Completed

 

25          11/12        16 Bit File I/O

 

26          11/17        Input / Output using the Kernel 32 Library – Chapter 12

 

27          11/19        Direct Control of Hardware (CRT, keyboard, and printer)

 

28          11/24        32 Bit Windows API for GUI Console (Review for Final Exam)             Program 4

 

             11/26        Thanksgiving Holliday (no class)

 

29          12/3        Wednesday 11:30 AM – 2:00 PM Final Exam                                  FINAL EXAM

 

Grading Policy

 

                                       Midterm Exam                                     30%

                                       Final Exam                                           30%

                                       Four Programming Assignments            40%

                                                                                                 100%

 

Late Programming Assignments

 

Programs that are not turned in on time will be reduced by 15 points per class period for each of the first two class periods after the due date.  Programs later than two class periods will not receive a grade.

 

NOTE:  Programming assignments should be turned in prior to the start of class.  Do not miss class to work in the lab on a programming assignment since it will be counted late if not turned in at the beginning of class.

 

Attendance

 

You are expected to attend each class!  Significant amounts of information not covered in the text will be discussed in class.  If you must be absent, it is your responsibility to obtain any missed handouts at the next class meeting.  Class notes should be obtained from another class member.

 

Academic Misconduct will be dealt with in a manner according to the Code of Conduct outlined in the UAH Student Handbook.

 

Notice:  Any student with a disability that will require special attention or accommodation should inform the instructor as soon as possible, preferably within the first week of class.

 

Sample files for CS308, Assembly Programming using the x86 architecture may be obtained by clicking here.