Module: Subprograms

Learning Outcomes

Assembly Programming

Assembly and High-level Languages

The Runtime Stack

Readings

Subprograms 101

Introduction to subprograms in assembly (PCASM Sections 4.1, 4.2, 4.3, 4.4)

Subprogram Arguments

Implementing programs that take arguments in assembly (PCASM Sections 4.5.1)

Subprogram Local Variables

Implementing subprograms with local variables in assembly (PCASM Sections 4.5.2)

Subprograms (Practice)

Practice Problems

Sample source code

Buffer Overflow

The buffer overflow code vulnerability due to stack corruption

Experiential Learning

Sample Homework Assignment #7

Tracing stack use of C programs, reverse-engineering of assembly code