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

Application Deadlines

  •  08 Jan 2024

    Spring Quarter applications due

  •  01 Apr 2024

    Summer Quarter applications due

  •  08 Jul 2024

    Fall Quarter applications due

Asset Publisher

Academic Calendar

  •  08 Dec 2023

    Last day of classes

  •  12 Dec 2023 – 14 Dec 2023

    Fall Quarter final examinations

  •  15 Dec 2023

    Fall Quarter graduation

See NPS Academic Calendar for more dates.