Программирование на Ассемблере


Содержание


1.1 Основные определения
1.2 Цель курса.
1.3 Характеристика языков системного программирования
1.4 История развития ассемблера. Характеристика машинного языка
1.4.1 Структура 4-х адресной команды
1.4.2 Структура 2-х адресной команды
1.4.3 Структура 1 адресной команды.
1.4.4 Структура безадресных команд
1.4.5 Сравнительный анализ команд с различной адресностью для современных процессоров
1.5 Пример программирования в машинных кодах.
1.5.1 Система команд
1.5.2 Распределение памяти
1.5.3 Программа вычисления
1.6 Характеристика языков ассемблерного типа
1.7.1 Пример программы на ассемблере для 16 битного приложения (DOS приложение)
1.7.2 Пример программы на ассемблере для 32 - битного приложения
2 ВВЕДЕНИЕ В АРХИТЕКТУРУ INTEL ПРОЦЕССОРОВ
2.1 Арифметико-логический блок
2.1 Арифметико-логический блок - часть 2
2.2 Прогнозирование переходов
2.3 Память
2.3.1 Регистровая память.
2.3.2 Кэш память
2.4 Блок с плавающей точкой
2.5 Особенности MMX процессоров
2.6 Перспективы разработки процессоров
3.1 Классификация простейших конструкций
3.2 Константы
3.2.1 Целые двоичные данные
3.2.2 Целые десятичные числа
3.2.3 Константы с плавающей точкой
3.2.4 Символьные и строковые константы
3.2.4.1 Однобайтовая кодировка
3.2.4.1 Двухбайтовая кодировка
3.3 Идентификаторы
3.4 Адреса
3.4.1 Внутреннее представление адреса для реального режима
3.4.2 Внутреннее представление адреса для защищенного режима
3.4.3 Внешнее представление адресов.
3.4.3 Внешнее представление адресов. - часть 2
3.5 Выражения
3.5 Выражения - часть 2
4.1 Классификация операторов
4.2 Директивы для определения констант
4.2.1 Директива EQU
4.2.2 Директива =
4.3 Директивы выделения памяти
4.4.1 Классификация команд
4.4.2.1 Команда MOV
4.4.2.2 Использование данных разной длины
4.4.2.3 Команды обмена
4.4.2.4 Команды пересылки для работы с адресами
4.4.2.5 Использование команды lea для арифметических вычислений
4.5 Особенности команд пересылки для работы со стеком
4.5.1 Использование команд mov
4.5.2 Использование специальных команд
5.1 Классификация арифметических команд
5.2 Правила использования арифметических команд
5.3.1 Основные арифметические команды
5.3.2 Специальные команды
5.3.3 Организация вычислений с многократной точностью
5.3.3 Организация вычислений с многократной точностью - часть 2
5.3.4 Дополнительные арифметические команды
6.1 Команды безусловного перехода
6.2.1 Коды условий
6.2.2 Команды условного перехода
6.2.2 Команды условного перехода - часть 2
6.3.1 Специальные команды
6.3.2 Организация вложенных циклов
7.1.1 Монотонное изменение индекса
7.1.1 Монотонное изменение индекса - часть 2
7.1.2 Немонотонное изменение параметра цикла
7.2 Использование команд для работы с блоками
7.2 Использование команд для работы с блоками - часть 2
8.1.1 Задание двухмерного массива
8.1.2 Монотонное изменение индекса
8.1.3 Метод связанных индексов
8.1.3 Метод связанных индексов - часть 2
8.1.4 Использование 2-х мерного массива при немонотонном изменении индекса
8.2 Многомерные массивы
8.2.1 Использование метода связных индексов для многомерных массивов
8.2.2 Использование метода приведенных индексов для многомерных массивов
9.1 Структуры
9.1.1 Задание типа структуры
9.1.2 Выделение памяти под структуру
9.1.3 Инициализация полей структуры
9.1.4 Особенности инициализации строк и массивов
9.1.5 Обращение к полям структуры
9.1.5 Обращение к полям структуры - часть 2
9.2 Объединения
9.2.1 Особенности инициализации полей объединения
9.3 Перечисления
10.1 Основные команды для работы с битами
10.1 Основные команды для работы с битами - часть 2
10.2.1 Классификация команд
10.2.2 Кодировка команд сдвига
10.2.3 Общий вид команд сдвига
10.2.4 Примеры использования команд сдвига.
10.3 Дополнительные команды
10.3.1 Группа команд: проверить и изменить
10.3.2 Команды длинного сдвига
10.4.1 Определение типа битовой структуры
10.4.2 Выделение памяти под битовую структуру
10.4.3 Особенности использования битовых структур
10.4.4 Пример использования битовой структуры
11.1 Типы программ
11.2 Одномодульные программы
11.2.1 Использование функций
11.2.2 Классификация параметров. Способы передачи параметров процедурам
11.2.2.1 Передача параметров через регистры
11.2.2.2 Передача параметров через общую область памяти
11.2.2.3 Передача в списке параметров простых переменных
11.2.2.4 Передача в списке параметров одномерных массивов
11.2.2.4 Передача в списке параметров одномерных массивов - часть 2
11.2.2.4 Передача в списке параметров одномерных массивов - часть 3
11.2.2.4 Передача в списке параметров одномерных массивов - часть 4
11.2.2.5 Передача в списке параметров многомерных массивов
11.2.2.5 Передача в списке параметров многомерных массивов - часть 2
11.2.2.5 Передача в списке параметров многомерных массивов - часть 3
11.2.2.6 Передача в списке параметров структур
11.2.2.7 Передача в списке параметров функций
11.2.3 Составление функций с переменным списком параметров
11.2.4 Составление рекурсивных функций на ассемблере
11.3.1 Особенности использования внешних функций
11.3.1 Особенности использования внешних функций - часть 2
11.3.1 Особенности использования внешних функций - часть 3
11.3.1.1 Использование общих областей памяти
11.3.2 Реентерабельное программирование
11.3.3 Использование локальных областей памяти
11.3.4 Особенности использования команд ENTER и LEAVE
11.3.5.1 Директива ARG
11.3.5.2 Директива LOCAL
11.4 Стыковка с языками высокого уровня
11.4.1 Вставка в Си команд на ассемблере
11.4.1 Вставка в Си команд на ассемблере - часть 2
11.4.2 Использование отдельных функций на ассемблере
11.4.2 Использование отдельных функций на ассемблере - часть 2
11.5 Особенности создания функций для включения их в DLL
11.6 Особенности использования ассемблерных функций в качестве функций – членов классов
11.6 Особенности использования ассемблерных функций в качестве функций – членов классов - часть 2
12.1 Недостатки функций
12.2 Макросы
12.2.1 Простейшие макросы
12.2.2 Основные определения
12.2.3 Макроопределение (м/о)
12.2.4 Макрокоманда (м/к)
12.2.5 Макрорасширение (м/р)
12.3.1 Правила записи параметров
12.3.1 Правила записи параметров - часть 2
12.3.2 Определение внутренних меток
12.3.3 Использование фактических параметров со специальными знаками
12.3.4 Вложенные и рекурсивные макросы
12.4 Обзор средств условной трансляции
12.4.1 Директивы условной трансляции
12.4.2 Формирование сообщений об ошибках
12.5.1 Безусловное повторение
12.5.2.1 Директива IRP
12.5.2.2 Директива IRPC
12.5.2.3 Директива WHILE
13.1 Обзор средств ввода-вывода



- Начало -