More Information
Learn
  • Become familiar with registers in a processor
  • Discover how registers can be used for storing temporary information
  • Get to grips with segmentation in Intel processors
  • Find out what are interrupts
  • Work with subroutines and return addresses
  • Understand what disassembly is
  • Find out how a GCC compiler can create machine code that can call assembly functions
  • Learn how to use the Netwide Assembler (NASM)
About

This course will teach you x86 assembly programming by taking you through how processors work and how machine-level coding is possible. The course is divided into two modules. The first module shows you how to use an emulator for the legacy Intel 8086 processor and explains what goes on under the hood.

Once you’ve learned everything you need to know about the legacy 8086 processor and how to program it in the assembly language, you’ll progress to the second module, which focuses on writing assembly code for the modern x86 processors. You’ll understand how to write 32-bit programs for Windows machines and establish communication between your assembly code and a C program.

Prior experience in the C programming language or, at the very least, some programming experience in another language is necessary to follow the concepts covered in the second module of this course.

Features
  • Use Emu8086 to create assembly programs for the 8086 processor
  • Communicate with a C program using assembly code
  • Understand disassembly
Course Length 3 hours 25 minutes
ISBN 9781800560314
Date Of Publication 28 Jul 2020

Authors

Daniel McCarthy

Daniel McCarthy is a software engineer who has been programming for more than 14 years. His experience is vast and covers web development all the way to the compiler and interpreter development. He has also developed bootloaders that can boot a kernel from the FAT (File Allocation Table) filesystem. He has developed kernels from scratch and has programmed Linux kernel modules professionally in the workplace. In his career, he has invented two programming languages of his own - Craft and Marble. Marble is a web language like PHP. His other programming skills include C++, Java, x86 Assembly language, PHP, HTML5, JavaScript, and CSS. He is passionate about helping students with his years of expertise to help them grow as professional software engineers with his brand ‘For Clowns’.