mshah.ioCourse ScheduleCourse Information


Module 6 - Assembly 1: Machine Instructions, and Reverse Engineering (Shah) - 2025-Sep-10

Overview

In this module we learn about assembly code.

  • What happens to our C code?
  • Compiler Explorer Example
  • Assembly instruction sets
  • RISC / CISC
  • Reverse Engineering
  • Understanding Assembly Instructions - AT&T Syntax x86-64

Slides and Class Content

Please note: Your in-class activity is graded. Your first attempt will be graded. You can use your notes and slides if you like. You have 1 week from the date of this module opening to complete the in-class activity. In-class activities are completed individually.

Audio/Video Recording

Note: Audio/Video recordings are made in a best effort in case you have to miss class or you would otherwise like to re-watch a portion of lecture. Occassional recording errors (e.g. missing sound, corrupted video, etc.) may occur, and I apologize in advance if a recording is not able to be made available.

Readings

    Please use the following resources to supplement this lecture. You may choose to read 1 or more of these before/during/after the lecture to fully immerse into the material.

  1. x86-64 Machine-Level Programming∗
    • AT&T Syntax
  2. x86 Assembly Guide (Intel Syntax)
    • Intel Assembly Syntax
  3. x86 Assembly Guide (AT&T Syntax)
    • AT&T Assembly Syntax
  4. The microarchitecture of Intel, AMD, and VIA CPUs
    • An optimization guide for assembly programmers and compiler makers
Please do not redistribute or host any materials without e-mailing me first. Thank you for your time!