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

Programming

x86-64 Assembly Programming

Group Training + View more dates & times

                 
Overview

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

Audience

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.

PREREQUISITES

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.

Schedule
Course Outline

Introduction to x86

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

Executable Programs

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

Tools

● Build Tools
● Reversing Tools
● Hello World

CPU

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

Registers

● 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

Assignment

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

Arithmetic

● No Operation
● Basic Operations
● Bitwise Operators

Conditionals

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

Loops

● Jump and Loop Optimizations
● Loop Instructions

Functions

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

Floats

● ST Use
● XMM Use

Strings

● String Instructions
● String Instruction Prefixes

SIMD

● Concepts
● Packed Data
● Data Alignment
● SIMD Instructions

FAQs
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