Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Assembly Language x86 Processors for beginners
Rating: 4.5 out of 5(17 ratings)
170 students

Assembly Language x86 Processors for beginners

Learn Assembly Language from scratch MASM using Irvine
Last updated 9/2025
English

What you'll learn

  • Write and debug assembly programs with MASM at the machine level for x86 and intel64 processors
  • Number systems and data representation
  • Assembly language basic elements
  • Defining data
  • Data transfer instructions
  • Addition and subtraction
  • Operators and directives
  • Indirect addressing
  • Procedures and stack operations
  • Boolean and comparison instructions
  • Conditional jumps
  • Shift and rotate instructions
  • Multiplication and division instructions

Course content

12 sections95 lectures4h 19m total length
  • Introduction1:52
  • Introduction to Assembly Language for x86 Processors5:39
  • Installing Visual Studio 2022 Community Edition1:12
  • Setup Visual Studio 2022 for Assembly2:02

Requirements

  • Be able to program in at least one high-level programming language such as Python, Java, C
  • All programs and Assignments in this course are created in MASM on Window using Microsoft visual studio 2019

Description

This course focuses on programming microprocessors that compatible with Intel and AMD processors with 32 bit and 64 bit of Microsoft Windows.

In this course we will use MASM (Microsoft Macro Assembler) which is included in Microsoft Visual Studio using Irvine.

In this course, you will learn basic principles about assembly language, also you will learn the architecture of Intel processor, this course will make you better in Assembly programming and debugging, hardware manipulation and data representation.

For this course, you should have programmed in at least one high-level language such as Python, Java, C.

This course will cover the following topics:

1-Numbering systems and data representation (Decimal, Binary and Hexadecimal, Binary and Hexadecimal addition and subtraction).

2- Assembly Language Fundamentals and defining data (types of registers, defining string, Mnemonics, Operands, Directives, Instructions and labels).

3-Data transfer instructions (MOV, MOVZX, MOVSX and XCHG)

4-Data related operators and directives (ALIGN, LENGTHOF, OFFSET, PTR, SIZEOF and TYPE).

5-Inderict addressing ( Indexed operands and Pointers).

6-Addition and subtraction (Flags affected by addition and subtraction, INC and DEC instructions).

7-Procedures and stack operations (CALL and RET instructions, Stack parameters, POP and PUSH and LEA instructions).

8-Boolean and comparisons instructions (AND, NOT, OR, TEST and XOR instructions)

9-Conditional jumps and loop instructions (Conditional structure, Unconditional JMP and LOOP instructions, Jump based on equality JE JNE JCXZ JECXZ, Jump based on signed comparisons, Jump based on unsigned comparisons, Jumps based on specific flag values, LOOPZ LOOPNZ LOOPE and LOOPNE instructions, While loops).

10-Shift and rotate instructions (RCL, RCR, ROL, ROR, SHL, SHR, SHLD and SHRD).

11-Multiplications and division instructions (MUL, IMUL, DIV and IDIV).


Who this course is for:

  • Beginners who want to learn assembly language
  • Students who want to know how the processor works