Instructor: Neveln
Office: Freedom 312
e-mail: neveln@cs.widener.edu
Office Hrs: MWF 11-12, Th 1-2.
Goal: The main goal of the course is to use a particular assembly language as a vehicle for the understanding of a particular computer architecture and its relation to the operating system and the C programming language. x86 assembler is the language studied.
Assemblers: The assemblers used are EDLINAS and NASM. EDLINAS in Python.
Books: The main text for the course is Linux Assembly Language Programming by the instructor. There are additional books I recommend for those interested. A book which details fairly completely and accurately, from a programmer's point of view, the internal operations of the older x86 processors is 80x86 Architecture & Programming, Volume II by Rakesh Agarwal. A fairly recent book is x86 Instruction Set Architecture by Tom Shanley. This book is very comprehensive, but sometimes a little careless.
Supervised Labs: On each Thursday there will be a supervised lab. Lab write-ups, worth 10 points, are due the day following the lab, unless they involve an out-of-lab programming assignment. Some of the labs involve programming in the C language. This language will be reviewed early in the semester.
Grading: The grade for the course will be based on the point total from the labs, the tests, and the final exam. There will be a 100 point test given approximately every two weeks. The final exam will be 200 points. The scale used will be 90-100 A, 80-90 B, etc.
Topics: