Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
Fundamentals of NASM x86 Assembly ProgrammingГод выпуска: 07/2023
Сайт производителя:
Udemy.comАвтор: Scott Cosentino
Продолжительность: 02:42:31
Тип раздаваемого материала: Видеоурок
Язык: Английский
Файлы примеров: отсутствуют
Формат видео: MP4
Видео: MPEG4 Video (H264) 1280x720 30fps 384kbps
Аудио: AAC 44100Hz stereo 128kbps
Описание:
An introduction to assembly programming using the x86 programming language with NASMx86 is one of the foundational programming languages. Many different flavours and versions of x86 exist, including the version featured in this course, known as NASM. The Intel chipset is one of the most common chipsets, making it a great choice for learning assembly programming. By understanding an assembly language, programmers can have a better understanding of how code is compiled and run, making it possible to create more efficient programs. In addition to this, programmers can work at a lower level, allowing them to write code that interacts with hardware in an efficient manner.
In this course, you will learn:
• How to setup NASM for x86 assembly on Linux
• How to interact with an x86 processor through register and stack memory
• How to interact with various memory types
• How to conduct basic arithmetic and logical instructions
• How to create branching logic
• How to create basic loop structures
• How to call standard C and user defined C functions
• How to run system calls through Linux
By the end of this course, you will have a fundamental understanding of the x86 processor with NASM, as well as assembly programming in general. You will be able to write basic x86 assembly programs, using various instructions available in the processor. You will also have the understanding required to further expand your knowledge, allowing you to become an expert in the area of assembly programming. You should consider this course if you are interested in learning about assembly programming, or x86 assembly!
[spoiler="Author"]
Scott CosentinoSoftware DeveloperHi, my name is Scott, and I am a developer and teacher who is passionate about learning. I work primarily in software development and computer security. Aside from this, I've taught students a variety of programming-related topics, and I love to inspire students to be passionate about the topics I teach. I have experience in both large class and one on one teaching, so I have the skills and experience to help you understand and succeed in the topics I teach!
I believe that mathematics and computer science can be approachable and fun topics. I tailor my courses so that they are easy to comprehend, with exploration of the what, why, and how of every topic. I understand that these topics are not a spectator sport, so I provide as many examples and practice problems as possible so that you can follow along and learn!
I look forward to having the opportunity to work with you, and I hope that you enjoy my classes.
[/spoiler]
[spoiler="What you will learn"]
√ Understand the basics of x86 architecture and program structures
√ The fundamentals of registers, stack memory, and memory addressing modes
√ he concepts of arithmetic, eflags, and logical operators
√ he main concept of branches, and loops
√ Calling C functions from x86 assembly
√ Running Linux system calls through x86 assembly
[/spoiler]
[spoiler="Who this course is for"]
• Programmers looking to understand the fundamentals of assembly
• Programmers looking to learn x86 assembly with NASM
[/spoiler]
[spoiler="Requirements"]
• A basic knowledge of programming in any language is recommened
• A knowledge of binary and hexidecimal numbers is beneficiall
[/spoiler]
[spoiler="Содержание (5 разделов • 20 лекций)"]
[spoiler="1. x86 Basics (3 лекции • 33 мин.)"]
1. Basics of x86 Architecture (12:00)
2. Processor Modes and Registers (10:03)
3. Your First x86 NASM Program (10:44)
[/spoiler]
[spoiler="2. Working with Data (4 лекции • 44 мин.)"]
1. Working with Data and Stack Memory (09:19)
2. Working with Byte and Word Data (13:36)
3. Characters, Strings, and Lists (11:51)
4. Declaring Uninitialized Data (09:38)
[/spoiler]
[spoiler="3. Arithmetic and Logic (8 лекций • 57 мин.)"]
1. ADD, ADC and EFLAGS (11:12)
2. Subtraction and Sign Flags (06:26)
3. MUL and IMUL (07:29)
4. DIV and IDIV (02:59)
5. Logical Operators (08:06)
6. Bitwise Shifts (04:13)
7. Comparisons and Jumps (09:07)
8. Creating a Loop (07:03)
[/spoiler]
[spoiler="4. Basics of Floating Points (2 лекции • 11 мин.)"]
1. Floating Point Storage (07:33)
2. Comparing Floating Point Numbers (03:54)
[/spoiler]
[spoiler="5. Interacting with C and OS System Calls (3 лекции • 17 мин.)"]
1. Calling Standard C Functions (08:26)
2. Calling User Defined C Functions (03:13)
3. System Calls (05:28)
[/spoiler]
[/spoiler]
[spoiler="Скриншоты"]

[/spoiler]