Instructor: Neveln
Office: Freedom 312
e-mail: neveln@cs.widener.edu
Office Hrs: MWF 1-2, Th 1:30-2:00
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. x86 assembler is the language studied.
Assemblers: The assemblers used are EDLINAS and NASM. EDLINAS has been re-written in Python. Like any new program it has bugs. This semester there is a dollar-a-bug policy in effect. Any student who is the first to report a bug will be given a dollar. To qualify, the bug must be reproducible. Features of the processor which are simply not implemented in the simulator, do not qualify as bugs.
Books: The main text for the course is Linux Assembly Language Programming by the instructor. There are additional books I recommend for those interested. One is ISA System Architecture by Tom Shanley & Don Anderson, published by Addison Wesley. This is a very well- written book with excellent diagrams and no wasted words. A book which details fairly completely from a programmer's point of view the internal operations of the x86 processors is 80x86 Architecture & Programming, Volume II by Rakesh Agarwal. A recent, exhaustive book is x86 Instruction Set Architecture also by Tom Shanley.
Programs: Programs are assigned regularly. Programs assigned as homework exercises are not collected or graded. Programs assigned in lab must be demonstrated there.
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: