CIS 21JB - Advanced Programming: x86 Assembly Language
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
- 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.
Assembly Language for x86 Processors - 6th Edition, by Irvine ISBN: 978-0136022121
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.
Letter grades are assigned based on
- 5 theory homework assignments
- 5 programming assignments
- 5 quizzes
- 2 midterm exams
- 1 class project