We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details

AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers


x86-64 Assembly Programming

Group Training + View more dates & times


This course is an introduction to assembly programming for the x86-64bit architecture. Emphasis is placed on best, current practices and methods. Students will write extensive code as part of the course.

Who Should Take This Course


This course is suitable for developers or others with moderate experience in programming a compiled language, such as C, C++, Rust, or Fortran. This course is not designed for students who are new to programming.


Students should have some previous programming experience, such as C, C++, or Rust. They should be able to write conditionals, loops, and functions, do some basic debugging, and write a simple program that makes use of these skills.

Course Outline

Introduction to x86

● Why Learn Assembly?
● Prerequisites
● History
● Terminology
● Optimization & Intuition

Executable Programs

● End-to-End Process
● Executable Formats
● Sections


● Build Tools
● Reversing Tools
● Hello World


● RISC/CISC Architectures
● GPUs
● Pipelining
● CPU Modes


● Intel Architecture History
● Register Descriptions
● Callee-Saved Registers

Memory and Latency

● Memory Structure
● Memory Pages
● Caches
● Latency Numbers Every Programmer Should Know

The Two Major Syntaxes

● Intel
● AT&T
● Comments
● Directives


● Indirect Addressing
● Load Effective Address
● Segment Offsets
● RIP-Relative Addressing
● Sign Extension


● No Operation
● Basic Operations
● Bitwise Operators


● Condition Flags
● Condition Codes
● Jumps
● Conditional Moves
● Jump Tables


● Jump and Loop Optimizations
● Loop Instructions


● Stack Space
● Base Pointer, Stack Pointer
● Caller- and Callee-Saved Registers
● x64 ABI
● IA-32 ABI
● Return Types
● System Calls


● ST Use
● XMM Use


● String Instructions
● String Instruction Prefixes


● Concepts
● Packed Data
● Data Alignment
● SIMD Instructions

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.

Contact Us