Assembly Language x86 Processors for beginners
Learn Assembly Language from scratch MASM using Irvine
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-Number 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)
What You Will 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
Who Should Attend!
- Beginners who want to learn assembly language
- Students who want to know how the processor works