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).
PREREQUISITES
Students must have completed our C Programming course or have equivalent knowledge of C, and have at least one year programming experience.
- 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
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.