View Class Schedule 
► ProgramsPR-4912C

Introduction to x86 Assembly Language Using C


The purpose of this course is to introduce computer science majors to computing systems below that of a high-level programming language. The material covered can be broadly separated into the categories of assembly language programming and Computer Organization. Under the heading of assembly language programming students will be introduced to the i386 instruction set, low-level programming, the Linux memory model, as well as the internal workings of compilers, assemblers and linkers. Topics under computer organization include digital logic design (combinational circuits, sequential circuits, finite state machines) and basic computer architecture (system bus, memory hierarchy and input/output devices).


  • Data Representation and Arithmetic
  • Assembly Language
  • Machine Language
  • Subroutines
  • Stack and C Functions
  • Linux Memory Model
  • Interrupts and System Calls
  • Compiling, Assembling, & Linking
  • Digital Logic
  • Transistors & Logic Gates
  • Boolean Functions and Truth Tables
  • Circuits for Addition
  • Combinational Logic Components
  • Flip-Flops
  • Finite State Machines
  • Finite State Machine Design
  • Circuit Simplification
  • I/O & Memory


Students must have completed our C Programming course or have equivalent knowledge of C, and have at least one year programming experience.


  • 5-Day Class – $2995.00
  • 10-Day Class – $3995.00

Group Training Available

UMBC Training Centers can deliver any of our courses in a group training environment at our facilities or yours. Group training can be an effective and economical method to quickly assure competency and consistency of knowledge and skills within an organization or department.