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.

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

Are there any course requirements or prerequisites?

  • 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

Who this course is for:

  • Beginner Assembly Programmers
  • People interested in how the processor works
  • People wishing to pursue a career in embedded development

Free Lessons
This lecture provides an overview of what assembly language actually is
In this lecture we install an 8086 Process Emulator that allows me to easily teach you assembly
This lecture covers how to create a hello world program in x86 assembly
Course Timeline:
This lecture provides an overview of what assembly language actually is
In this lecture we install an 8086 Process Emulator that allows me to easily teach you assembly
This lecture covers how to create a hello world program in x86 assembly
This lecture discusses all about logic gates and understanding the processor, this is very important for you to understand how C works under the hood
This lecture discusses what registers are and the registers available to us in the 8086 processor
This lecture explains memory segmentation and segmentation registers
In this lecture you learn all about the stack, subroutines and endiness
Now its time to learn how to move data to and from memory in assembly
This lecture will teach you how interrupts work on intel processors
Learn how to talk with hardware using the in and out instructions of the processor
This lecture discusses mathematics in assembly language
This lecture covers how to use conditions in assembly much like you would use an "if" statement if programming in C
This lecture explains the "lodsb" instruction and why its powerful
This lecture shows you how to store bytes with assembly using the "stosb" instruction
In this lecture we go over our hello world program in more depth
This lecture covers some helpful resources for the Intel 8086 processor
This lecture covers the installation of the x86 assembler dependencies, this lecture prepares you for starting development of Windows applications in modern machines
This lecture covers how to create a hello world application in intel x86 processors
This lecture covers using assembly language with the C programming language
It's time to learn about local variables in x86 assembly. This lecture covers how to master the stack in such a way that you can create local variables and temporary memory
This lecture covers how to return structures in assembly language using clever tricks that your C compiler does for you
Learn how to talk with C pointers in assembly language
This lecture covers how to pass structures in assembly language
This lecture covers how to receive input from the keyboard

Course Reviews:

Average Rating 0
0 Ratings
Details
5 Stars 0
4 Stars 0
3 Stars 0
2 Stars 0
1 Stars 0

No reviews yet.

Also available in Bundles