Instructor: Neveln
Office: Freedom 312
e-mail: neveln@cs.widener.edu
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 NASM, EDLINAS (in Python) and EDLINAS (the Web Application).
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 16 and 32 bit x86 processors is 80x86 Architecture & Programming, Volume II by Rakesh Agarwal. A more recent book is x86 Instruction Set Architecture by Tom Shanley. This book is very comprehensive, including 64 bit architecture, but also sometimes a little careless.
Supervised Labs: On each Thursday there will be a supervised lab. Lab submissions, worth 10 points, will be done using zoom shared screens if necessary. 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 and a 200 point final exam. The scale used will be 90-100 A, 80-90 B, etc.
Topics: