Министерство образования и науки Краснодарского края ГАПОУ КК «Новороссийский колледж строительства и экономики»
Что такое ассемблер?
 Основные характеристики и назначение
История и развитие
Основные компоненты ассемблера
Архитектурные направления (x86/x86-64)
 Архитектурные направления (ARM, MIPS, RISC-V)
Виды инструкций и адресация
Синтаксис ассемблера
Структура ассемблерной программы
Роль в системном программировании
Преимущества ассемблера
 Недостатки ассемблера
Современное применение
Инструменты и пример кода
 Заключение1488
13.31M
Категория: ПрограммированиеПрограммирование

Презентация

1. Министерство образования и науки Краснодарского края ГАПОУ КК «Новороссийский колледж строительства и экономики»

Презентация
на тему:
«Ассемблер и его
комплектующие»
Руководитель:
Автор: Фельдман Ян Евгеньевич,
Елбакиев Артём Юрьевич, Сиротин
Александр Андреевич, Сметник Руслан
Владиславович
Студент группы ИП-22-24
Преподаватель информатики
Новороссийск 2026
Каспрук А.А

2. Что такое ассемблер?

Низкоуровневое
программное обеспечение.
Преобразует
человекочитаемые
инструкции (мнемоники) в
двоичный машинный код.
Позволяет
программировать на
уровне, максимально
близком к аппаратуре.

3.  Основные характеристики и назначение

Основные характеристики
и назначение
Характеристики:
Машинный уровень программирования.
Прямое управление аппаратурой.
Использование специфических команд и регистров
процессора.
Максимальная эффективность и производительность.
Назначение:
Создание компактного и быстрого кода.
Разработка драйверов, ОС, встроенных систем.
Реверс-инжениринг.
Обучение архитектуре компьютера.

4. История и развитие

•1940-1950-е : Ручное
программирование, первые
ассемблеры (IBM 701).
•1960-е: Развитие для архитектур x86,
MIPS, ARM.
•1970-1980-е: Популяризация RISCархитектур.
•Современность: Инструменты для
реверс-инжиниринга (Ghidra, IDA
Pro), открытые стандарты (RISC-V).

5. Основные компоненты ассемблера

Лексический анализатор: Разбивает код на токены
(команды, регистры, метки).
Парсер: Анализирует структуру инструкций.
Генератор кода: Преобразует инструкции в машинный код.
Обработка директив: Управляет структурой программы
(.data, .text).
Отладчики: Инструменты для пошагового выполнения и
анализа.

6. Архитектурные направления (x86/x86-64)

Особенности: Режимы (Real, Protected,
Long), огромный набор команд,
поддержка 16/32/64 бит.
Применение: Ядра ОС (Windows,
Linux), драйверы, системные
библиотеки.
Инструменты: MASM, NASM, GAS.

7.  Архитектурные направления (ARM, MIPS, RISC-V)

Архитектурные направления (ARM,
MIPS, RISC-V)
ARM: Энергоэффективность,
множество регистров, мобильные и
встроенные системы.
MIPS: Простая RISC-архитектура,
академическое и встроенное
применение.
RISC-V: Открытая, расширяемая
архитектура, будущее встроенных
систем и исследований.

8. Виды инструкций и адресация

Виды инструкций:
Движение данных (MOV, LOAD/STORE)
Арифметические (ADD, SUB)
Логические (AND, OR)
Управление потоком (JMP, CALL, условные переходы)
Типы адресации: Регистровая, косвенная,
индексированная.

9. Синтаксис ассемблера

Intel-синтаксис: MOV назначение, источник
AT&T-синтаксис: movl источник, назначение (с префиксами %,
указание размера)
Ключевые отличия: Порядок операндов, форматы записи.

10. Структура ассемблерной программы

Сегмент данных (.data): Объявление
инициализированных переменных.
Сегмент BSS (.bss): Резервирование
неинициализированной памяти.
Сегмент кода (.text): Основная логика
программы.
Обработка ошибок и завершение:
Корректный выход через системные
вызовы.

11. Роль в системном программировании

Драйверы устройств: Прямой доступ
к портам и регистрам, обработка
прерываний.
Операционные системы: Загрузчики
(bootloaders), ядро, системные вызовы,
управление памятью.
Встроенные
системы: Микроконтроллеры,
минимальный размер кода, прямое
управление периферией.

12. Преимущества ассемблера

• Высокая скорость и минимальный размер кода.
• Прямой низкоуровневый контроль над аппаратурой.
• Незаменим для изучения архитектуры процессора.

13.  Недостатки ассемблера

Недостатки ассемблера
Высокая сложность и трудоёмкость
разработки.
Плохая масштабируемость для больших
проектов.
Отсутствие переносимости между
архитектурами.
Высокий риск ошибок.

14. Современное применение

Встраиваемые системы и IoT.
Криптография (аппаратное ускорение).
Образовательный процесс.
Реверс-инжиниринг и анализ безопасности.
Оптимизация критичных участков в
высокоуровневых языках (inline-ассемблер).

15. Инструменты и пример кода

Ассемблеры: NASM, MASM, GAS, FASM.
Дизассемблеры/Реверс-инжиниринг: IDA Pro, Ghidra.
Простой пример (Hello World на NASM x86):
section .data
msg db 'Hello, world!', 0xA
len equ $ - msg
section .text
global _start
_start:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80
mov eax, 1
xor ebx, ebx
int 0x80

16.  Заключение1488

Заключение
1488
Ассемблер — фундаментальный инструмент для
низкоуровневого программирования.
Обеспечивает непревзойдённый контроль и
производительность.
Остаётся критически важным в системном, встраиваемом
программировании, безопасности и образовании.
Несмотря на сложность, его понимание необходимо для
глубокого познания работы вычислительной техники.
Кодируйте деда минимум по 15 минут в день.
English     Русский Правила