Course Overview
Our four-day, instructor-led Assembly Language Programming Training course will teach developers to convert to machine code using an assembler. Participants will learn to do the following:
- Obtain deeper understanding of the underlying platform
- Understand binary arithmetic and logic operations
- Create elegant and efficient code in Assembly language
- Understand how to link Assembly code to outer world
- Obtain in-depth understanding of relevant internal mechanisms of Intel CPU
- Write stable, efficient and elegant patches for running processes
Schedule
Assembly Language Programming Training
date
location
price
![[image]](https://phoenixts.com/wp-content/themes/phoenixts-com/assets/images/temp/image-9@2x.jpg)
Not seeing a good fit?
Let us know. Our team of instructional designers, curriculum developers, and subject matter experts can create a custom course for you.
Learn more about custom training
Course Outline
Intel Architecture
- Intel Architecture
- Processor registers
Setting Up a Development Environment
- Setting up a development environment
- Microsoft macro assembler
- GNU assembler (GAS)
- Flat assembler
Intel Instruction Set Architecture (ISA)
- Assembly source template
- Data types and their definitions
- A debugger
- The instruction set summary
Memory Addressing Modes
- Addressing code
- Addressing data
- Far pointers
Parallel Data Processing
- SSE Biorhythm calculator
- AVX-512
Macro Instructions
- What are macro instructions?
- An introduction to calling conventions
- A note on flat assembler’s macro capabilities
- Macro instructions in MASM and GAS
- Other assembler directives (FASM specific)
Data Structures
- Arrays
- Structures
- Linked lists
- Trees
- Sparse matrices
- Graphs
Mixing Modules written in Assembly and Those written in High Level Languages
- Crypto Core
- Interfacing with C/C++
- Assembly and managed code
Operating System Interface
- The rings
- System call
- Using libraries
Patching Legacy Code
- The executable
- The issue
- PE files
- ELF executables
Oh, Almost Forgot
- Protecting the code
- A bit of kernel space