UMBC Training Centers logo

Assembly Language Programming

 

Course Description | Outline | Software Development Training | IT Training

Course Description

This course uses the student’s knowledge of C to explore the world of IA32/x86 assembly language programming in a Linux environment. Students will examine the internal representation of data and bit-level operations. Students will examine assembly language generated by the gcc compiler to implement all common C constructs such as if-statements, loops, array and structure access, and function calls. Students will also examine basic computer hardware components and the concept of a memory hierarchy. This course uses assembly language as a tool to give students a better understanding and appreciation of the low-level workings of their code and computer. X86-64 instructions are also examined in parallel to IA32.

Course Objectives

  • Demonstrate an understanding of data representation
  • Demonstrate an understanding of basic computer architecture including CPU hardware and the memory hierarchy
  • Read and write IA32 x86 assembly language programs
  • Demonstrate the ability to translate between C source code and the resulting assembly language code and vice versa.

Course Topics

  • Review of C programming environment
  • Memory Addressing
  • Bit level and logical operators in C
  • Integer representation and arithmetic
  • CPU registers
  • Data movement instructions
  • Arithmetic and logical operator instructions
  • Instructions for control structures
  • Stack frame structure and stack discipline
  • Procedure calls
  • Array element access
  • Structure Access and data alignment
  • Basic CPU hardware

Course Prerequisites

Students must have completed our C Programming 3 week Bootcamp or have equivalent training in C, or have at least one year of C programming experience. Students must have program development experience in the Linux environment.

Contact Information

E-mail Heith Hart or call (443) 692-6599 if you have any questions about this course or if you would like to be added to the interest or wait list.