2-03-MASM and Sections

Preview unavailable

You must log in or sign up to view this lesson.

LoginSign up

x64 Architecture and Programming (Part 1)

Buy nowLearn 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 Stack5
  • 2-09-Invoking Windows APIs2
  • 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 Thread2
  • 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