2-15-MASM options and expressions

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