Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Mac OSX x86 Assembly Programming From Ground Up™
Getting Started
Setting Up the Development Environment (6:51)
Testing Our Setup (22:47)
x86 Processors & Computer Architectures
Evolution of Intel Processors (10:50)
Harvard Architecture vs Von Neumann Architecture (3:46)
The Computing Device
Logic Gates (5:51)
From Transistors to Operating Systems (5:52)
Number Systems (6:38)
The Programmer's Model
Overview of x86 Data Types (1:00)
Basic x86 Microcomputer Design (8:29)
x86 Operating Modes (2:02)
Overview of the x86 Registers (9:45)
Coding : One Register to Rule them ALL (20:38)
Overview of the x86 Flags (2:29)
Overview of the Floating Point Unit (8:18)
Overview of x86 Memory Models (7:40)
Understanding the Register Naming Pattern (3:48)
Introduction to x86 Assembly Language
Overview of x86 Integers (1:37)
Introduction to Directives and Instructions (MASM Assembler) (6:25)
Simple x86 Assembly Template (using MASM and Intel Syntax) (2:48)
Understanding Call Conventions (4:37)
Commonly used GAS Directives (5:00)
Introduction to MAC OS System Calls (3:53)
Introduction to Linux System Calls (7:45)
Data Transfer Instructions
Operand Types (3:09)
Overview of the MOV Instruction (4:13)
Coding : Exploring the MOV Instruction (8:28)
Coding : Intro to Mixing C and Assembly files (7:04)
Understanding Direct - Offset Operands (0:58)
Memory Addressing Modes (3:18)
Endianness (1:24)
Coding : Changing the Endianness of a number (5:14)
Coding : Exploring the XCHG Instructions (5:45)
Code : Understanding the x86 Call Convention (6:25)
Arithmetic Instructions
Summary of some Arithmetic Instructions (2:12)
The Increment and Decrement Instructions (1:00)
The Addition and Subtraction Instructions (1:12)
Data Operators and Directives (1:41)
Coding : Declaring Variables (5:49)
Coding : Calculating Array Squares (27:00)
Understanding Addressing Modes
Addressing with with AT & T Syntax (5:38)
Conditional Branching
Summary of some Flow Control Instructions (2:26)
The Jump and Loop Instructions (1:40)
Logic Instructions (3:21)
Condition Jump Instructions (2:30)
Instruction Operands (3:40)
Working with the NASM Assembler and Intel Syntax
Commonly used NASM Directives (4:00)
Coding : Using Unconditional Jumps (5:17)
Coding : Implementing Unconditional Jumps with the CALL Instruction (3:51)
Coding : Simple C and Assembly Program (6:21)
Coding : Experimenting with Conditional Jumps (12:17)
Coding : Experimenting with the DEC Instruction (14:08)
Coding : Experimenting with the INC Instruction (2:44)
Coding : Setting Up XCODE for the NASM Assembler (4:22)
Coding : Working with Arrays (13:28)
Coding : Finding the Maximum value in an array (11:53)
Coding : Finding the Unique number in an array (10:00)
Coding : Computing the Factorial of a Number using the Recursion Algorithm (14:29)
Coding : Drawing a Simple Triangle (14:32)
Coding : Reversing an Array (18:19)
Working with Floats
Coding : Experimenting with Floats (14:24)
Working with Command Line Arguments
Coding : Reading Command Line Arguments (9:27)
Coding : Using command line arguments for Computation (15:17)
Working With Strings
Summary of Some String Instructions (1:32)
Working with SIMD Instructions
Coding : Experimenting with SIMD Instructions (12:04)
Closing
closing_remarks (0:11)
Coding : Experimenting with the DEC Instruction
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock