CS 3333   Assembly Language Programming

 

Fall 2007, Credit Hrs: 3

 

General Information

 

  Instructor: Hai  Jiang 
    Office: CSM, Room 127
    Phone:  972-3978 ext. 118
    Email:  hjiang@cs.astate.edu
  Time: Tue Thu 9:30 - 10:45 a.m.
  Location: CSM,  Room 211
  Office Hours: Tue Thu 10:45 a.m. - 12:30 p.m. &  1:45-2:45 p.m.
  Syllabus: http://www.csm.astate.edu/~hjiang/cs3333/syllabus.pdf
  Course Homepage: http://www.csm.astate.edu/~hjiang/cs3333.html
    ( Lecture notes, homework assignments, etc. )

    

 

Course Description

 

This course is designed to provide students with an in-depth understanding of the working of  an x86 architecture computer by programming at the machine level in Assembly Language. It covers basics of assembly language programming,  macros, system stack and procedure calls.  The features of IA-32 based PC will be used.  At the end of the course, MIPS architecture and assembly language will be discussed briefly as well. Emphasis is on the development of well-structured programs in assembly language.  Students will demonstrate knowledge through class participation, programming assignments and examinations.  Tentative topics will include:

 

Prerequisites

 

CS 2183 (Structured Programming I), or consent of the instructor

 

 

Textbook

 

Kip R. Irvine, Assembly Language for Intel-Based Computers, 5th edition, Prentice Hall, 2006 , 752 pages, ISBN: 0132383101.

 

 

References

 

Randall Hyde, The Art of Assembly Language, First Edition, No Starch Press,  Published September 2003, 928 pages, ISBN: 1886411972.
   

Robert Britton, MIPS Assembly Language Programming, Prentice Hall, Published May 2003, 168 pages, ISBN 0131420445.
   

Robert P. Smith, Assembly Language Programming, Using MIPS RISC R2000/R3000, Arkansas State University, Published August 2003.
   
  •  

More course materials will be available on course homepage. Please visit it often for changes and announcements.

 

 

Resources

 

 

Grading

 

Final grades will be calculated based on the following weights:

  Homework, Programming Assignments and Quizzes:  30%
  Midterm Exams (2): 40%
  Final Exam: 30%

 

The final grade will be distributed as :

      A    [90-100]

B    [80 - 90)

C    [70 - 80)

D    [60 - 70)

F     [0  - 60)

 

LabSoft

 

LabSoft system (http://plab.cs.astate.edu/) will be used for homework submission and grading.

 

Policies

 

Food and Drinks

Department policy restricts bringing either food or drinks into the classroom.
 

Electronic Devices

Cell phones are restricted during class. Cell phones must be turned off during the lecture. If your cell phone rings during class, you may be asked to leave. Other devices (computers, recorders, etc.) may be allowed, but you must ask the instructor before you use them during class.

 

Special Facilities

Students who require academic adjustments in the classroom due to a disability must first register with ASU Disability Services. Following registration and within the first two weeks of class, please contact the instructor to discuss the appropriate academic accommodations to ensure equal access to this course.

 

Rescheduling Tests

Tests cannot be rescheduled due to testing in other classes. If a test is missed due to extenuating circumstances then you must notify me as soon as possible. The circumstances must be documented by you and must be excusable in order to reschedule a test.

 

Late Assignments

For most homework assignments, the class will receive a working solution within four days after the due date. NO assignments will be accepted that are more than four days late. Assignments that are less than a week late, will be accepted with certain penalty (25% per day).

 

Cheating

You are encouraged to discuss problems and programming assignments with each other. Helping others learn is often the most powerful way of mastering material yourself. However, taking somebody else's solution without their knowledge or consent is cheating and will be punished. Do not leave copies of the programming assignments in the trash can in a public place -- throw them away at home or some other private place. Also do not leave your directories unprotected. There are harsh penalties for those found cheating.

 

Attendance

Attendance is required. If you miss a class, you are responsible for material covered during the class you missed, this includes any assignments made. Note that I do not provide one-on-one instruction for missed classes.