x86 Assembly Language Programming Masters Course
4.2 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,179 students enrolled

x86 Assembly Language Programming Masters Course

Learn Assembly From A Decade Of Experience
4.2 (48 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
9,179 students enrolled
Created by Daniel McCarthy
Last updated 5/2020
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
23 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 1 Practice Test
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • How to use Emu8086 to create assembly programs for the 8086 processor
  • All about registers in a processor and how they can be useful for storing temporary information
  • All about segmentation in Intel processors
  • All about interrupts
  • Subroutines and return addresses
  • The stack
  • Talking with a C program using assembly
  • Talking with an assembly program using C
  • Understanding disassembly
  • Understanding how GCC compiler can create machine code that can call our assembly functions
  • How to use NASM Assembler
Course content
Expand all 26 lectures 03:25:45
+ Legacy 8086 Processor Development
16 lectures 02:05:56
Transistors And Logic Gates Understanding The Processor
12:56
Registers In The 8086
09:52
Segmentation
08:52
The Stack, Subroutines And Endianness Explained
08:37
Moving Data To And From Memory
08:58
Interrupts And How They Work
13:59
Talking With Hardware With In And Out Instructions
03:10
Mathematics Adding, Substraction, Division And Multiplication
15:13
Condition Instructions
08:22
Reading bytes with the lodsb instruction
02:45
Storing bytes with the stosb instruction
02:21
Revising Our Hello World Program
07:09
Helpful Resources For The 8086 Processor
02:09

You are tested here on everything you learned in the "Legacy 8086 Processor Development" section

Legacy 8086 Processor Development Test
6 questions
+ Modern x86 Processor Development
8 lectures 01:18:35
Installing x86 Assembler Dependencies
05:31
x86 Hello World
06:10
Using Assembly With C
21:46
Local Variables In Assembly
14:05
Returning Structures In Assembly
13:55
Pointers In Assembly
03:51
Passing Structures To Assembly
07:30
Receive Input From The Keyboard
05:47
Requirements
  • Basic C knowledge is recommended if not C then at least some experience in another programming language
  • A drive to solve problems. Assembly is nothing like any other language, I will teach you what I know but you have to be willing to pay attention and try again if you mess up
Description

This course is intended to teach you x86 assembly programming. This course teaches you how processors work and how machine code is possible. We start the course using an emulator for the legacy Intel 8086 processor.

Since we start the course with an emulator it allows me to pause the machine at any moment in time and show you exactly what is going on.

After you learn all about the legacy 8086 processor and how to program assembly for it we then move to the modern processors of today and start writing assembly for those. You are taught how to write 32 bit programs for Windows machine's and most importantly how to communicate with C programs using assembly language.

This course recommends that you have some prior experience in the C programming language or at the very least some programming experience in another language. The reason for this is because part two of the course when I teach modern assembly I reference the C programming language quite a lot since we write assembly that can talk with C.

Who this course is for:
  • Beginner Assembly Programmers
  • People interested in how the processor works
  • People wishing to pursue a career in embedded development