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
Back to Top