CIS 21JB - Advanced Programming: x86 Assembly Language
Course Description
This class covers more advanced topics of x86 assembly programming:
- Reentrant and recursive procedures
- Structures and data alignment
- Interface with the OS: IO and dynamic memory allocation
- Interface with the C/C++ language, inline assembly
- Interrupt processing
Prerequisites
- Required course: CIS 21JA
- Required material: access to a system running Windows so that the Visual Studio C++
and MASM assembler can be used.
The CIS Open Lab provides these systems for students to log in and use if you don't have personal access to one.
Textbook
Assembly Language for x86 Processors - 6th Editionby Irvine ISBN: 978-0136022121
Attendance
There are two sections of this course running in parallel: a hybrid section and an online section. Students in both sections use the same online components and participate together.
- Hybrid Section: 2 hours lecture, 1 hour lab per week on campus, plus online lecture notes, assignments, and quizzes
- Online Section: Lecture notes, discussion forums, assignments and quizzes are online. Exams are on campus.
Evaluation
Letter grades are assigned based on
- 5 theory homework assignments
- 5 programming assignments
- 5 quizzes
- 2 midterm exams
- 1 class project