0-01-Introduction
x64 Architecture and Programming (Part 1)
Buy now
Learn more
Introduction and Overview
x64ArchAndProg(Part 1).pdf
0-01-Introduction
0-03-Course Contents and Resources
0-02-Why Learn Assembly
0-04-Software Environment
0-05-Compiling and Assembling
HelloAsm.zip
0-06-Mixing C and Assembly
0-07-Debugging
0-08-Kernel Debugging
x64ArchAndProg.zip
x64ArchProgLabs(Part 1).pdf
MASM64 SDK and Tools
masm64.zip
QuickAsm.zip
Basic Architecture
1-01-Historical Perspective
1-02-Operating Modes
1-03-ISA
1-04-General Purpose Registers
1-05-Flags
1-06-Implicit Register Usage
1-07-Floating Point Registers
1-08-Integer Representation
1-09-Two's Complement
1-10-Integers Examples
1-11-Sign and Zero Extension
1-12-Instructions and Operands
1-13-Memory Addressing
1-14-The MOV Instruction
1-15-More MOVs
1-16-Simple Arithmetic
1-17-CALL and RET
1-18-Calling External Functions
1-19-x64 Calling Convention
1-20-Caling Functions Demo
1-21-x86 Calling Conventions
1-22-Common Bitwise Instructions
1-23-Shifts
1-24-Rotates
1-25-Floating Point Representation
1-26-Jumps
1-27-Compare
1-28-Conditional Jumps
1-29-Labs
1-30-Labs and Solutions
Assembly Programming 1
2-01-Overview
2-02-More Labs Solutions
2-03-MASM and Sections
2-04-The LEA Instruction
2-05-Addressing Modes
2-06-The Stack
2-07-PUSH and POP
2-08-Manipulating the Stack
5
2-09-Invoking Windows APIs
2
2-10-Managing the Stack
2-11-Local Variables
2-12-MASM64 SDK
2-13-Saving Flags
2-14-INC and DEC
2-15-MASM options and expressions
2-16-Strings and Arrays
2-17-Structs and Unions
2-18-Labs
2-19-Labs (Part 2)
2-20-Lab - DLL Injection with Remote Thread
2
2-21-Command Line Arguments
Assembly Programming 2
3-01-MASM Procedures
3-02-Stack Frames
3-03-Prolog and Epilog
3-04-Parameters Allocation
3-05-Floating Point Arguments
3-06-Declaraing Parameters
3-07-Indirect Calls
3-08-Jumps
3-09-Conditional Moves
3-10-Loops
3-11-Unsigned MUL
3-12-Signed MUL
3-13-Division
3-14-String Instructions
3-15-Bit Manipulation
3-16-Exchange and Swap
3-17- IO Instructions
3-18-Demo - Windows GUI App