Low-level Programming II

Course #CS3140

Est.imated Completion Time: 3 months

Overview

Assembly language is used as the vehicle to introduce students to the principles of program construction at the machine code and assembly language levels. Students will be exposed to assembly languages as formally documented by CPU designers. By studying real-world processors, the differences between complex and reduced instruction set are illustrated. Students will study the use of assemblers, linkers, and loaders in the program creation process. Common executable file formats are studied as well as standard calling conventions used to interface assembly language functions with high order languages, viz. C, functions and operating system services. The theory of disassembly and tools for disassembling executable files are covered for the purpose of analyzing binary programs.

Prerequisites

  • CS3040
Offerings database access
Asset Publisher

Academic Calendar

  •  06 Jun 2023

    Spring quarter pre-graduation awards ceremony

  •  09 Jun 2023

    Spring quarter last day of classes

  •  13 Jun 2023

    Spring quarter final examinations begin