Тематическое планирование

1. Первоначальные сведения об ассемблере. Понятие о языках высокого и низкого уровней. Особенности языков низкого уровня. Область применения ассемблера. Использование ресурсов компьютера с максимальной эффективностью.

2. Строение процессора. Работа процессора. Исполнение программы процессором. Понятие о системе команд процессора.

3. Понятие оперативной памяти и адресации к ней. Особенности адресации. Единицы измерения оперативной памяти.

4. Пример создания простейшей программы на ассемблере. Общие сведения о процессорах x86: адресация; область портов ввода/вывода; работа с памятью; адресная шина и шина данных; регистры процессора; флаговый регистр.

5. Регистры процессора. Типы команд: команды передачи данных; арифметические команды; побитовые команды. Команды ввода-вывода. Использование логических операций для установки и сброса битов. Команды косвенной адресации. Работа с сегментом данных BIOS и видеопамятью. Циклы с участием регистра CX. Команды безусловного перехода.

6. Виды адресов. Понятие о сегменте и смещении. Линейный адрес. Переменные в языке ассемблера. Команды пересылки данных. Виды адресации: регистровая; прямая; непосредственная; косвенная; базовая; индексная; базово-индексная.

7. Разбор примеров программирования на ассемблере. Работа с отладчиком.

8. Концепции программирования на ассемблере: требования языка; ассемблирование и выполнение программы; определение данных. Модели памяти; процедуры; макросы. Форматы команд.

9. Регистр SP и понятие стека. Сохранение и восстановление данных в стеке. Регистр BP. Интерфейс с языками высокого уровня.

10. Процедуры в ассемблере и работа с ними. Работа стека при использовании процедур. Программные прерывания.

11. Регистр флагов. Команды сравнения и условного перехода. Особенности использования регистра флагов.

12. Регистры SI и DI и строковые команды. Использование строковых команд для пересылки и сравнения данных.

13. Прерывания: обслуживание прерываний: механизм прерываний; таблица векторов прерываний; изменение таблицы векторов прерываний; особенности обработки аппаратных прерываний. Прерывания BIOS: клавиатура; манипулятор “мышь”; часы реального времени; системный таймер. Выполнение практических заданий.

14. Прерывания DOS: работа с файлами; управление программами; управление памятью; другие функции. Обработка ошибок: обработчик критических ошибок. Выполнение практических заданий.

15. Резидентные программы. Особенности взаимодействия с DOS и BIOS.

16. Заключительное занятие.