Полоцкий государственный университет

Полоцкий
государственный
университет

УМК Низкоуровневое программирование

Низкоуровневое программирование: учеб.-метод комплекс для студентов спец. 1-40 02 01 «Вычислительные машины, системы и сети», 1-40 01 01 «Программное обеспечение информационных технологий», 1-36 04 02 «Промышленная электроника» / Д.Г. Руголь. – Новополоцк: ПГУ, 2008. – 128с.
Рассмотрены программная модель микропроцессоров семейства x86, принципы сегментной организации памяти и распределения адресного пространства, структура системы прерываний; изложены принципы использования языка программирования Ассемблера и программирования различных функциональных блоков ПЭВМ.

Руголь Дмитрий Геннадьевич

Дмитрий
Геннадьевич
РУГОЛЬ

старший преподаватель кафедры вычислительных систем и сетей.

В 2003г. с отличием окончил ПГУ по специальности «Вычислительные системы и сети». Читает курсы «Низкоуровневое программирование», «Интерфейсы ПЭВМ», «Вычислительные комплексы, системы и сети», «Периферийные устройства».

СОДЕРЖАНИЕ

ВВЕДЕНИЕ
РАБОЧАЯ ПРОГРАММА

Модуль 1. Введение в структурную и функциональную организация ЭВМ
1.1 Архитектура ЭВМ. Общие понятия
1.2 Программная модель микропроцессора i80486
1.2.1 Регистры общего назначения
1.2.2 Сегментные регистры
1.2.3 Регистры состояния и управления
1.3 Сегментная организация памяти
1.3.1 Базовый адрес, смещение и формирование линейных адресов
1.3.2 Сегменты кода, данных и стека
1.3.3 Особенности сегментации памяти в процессоре i80486
1.4 Вопросы и задания для самопроверки

Модуль 2. Загрузка и выполнение программ в DOS
2.1. Форматы исполняемых файлов
2.1.1 Программы формата EXE
2.1.2 Программы формата COM
2.2. Завершение программ
2.3. Вопросы и задания для самопроверки

Модуль 3. Язык Ассемблера. Общие сведения
3.1 Введение в язык Ассемблера
3.2 Идентификаторы, переменные, метки, имена, ключевые слова
3.3 Простые типы данных
3.4 Предложения
3.5 Операнды
3.6 Выражения
3.7 Директивы определения данных
3.8 Виды адресации операндов в памяти.
3.9 Структура программы на языке Ассемблера
3.9.1 Стандартные директивы сегментации
3.9.2 Упрощенные директивы сегментации.
3.9.3 Директива INCLUDE
3.9.4 Процедуры
3.9.5 Структура EXE- и COM- программ
3.10 Вопросы и задания для самопроверки

Модуль 4. Команды микропроцессора i80486
4.1 Команды пересылки данных
4.1.1 Команда MOV
4.1.2 Команда обмена данных XCHG
4.1.3 Команды работы с адресами и указателями памяти
4.1.4 Команда перекодировки XLAT
4.1.5 Команды работы со стеком
4.1.6 Команды ввода-вывода в порт
4.2 Арифметические команды
4.2.1 Команды арифметического сложения ADD и ADC
4.2.2 Команды арифметического вычитания SUB и SBB
4.2.3 Команда смены знака NEG
4.2.4 Команды инкремента INC и декремента DEC
4.2.5 Команды умножения MUL и IMUL
4.2.6 Команды деления DIV и IDIV
4.3 Команды побитовой обработки данных
4.3.1 Логические команды
4.3.2 Команды поиска и установки бит
4.3.3 Команды сдвига
4.4 Команды сравнения и передачи управления
4.4.1 Команды безусловных переходов
4.4.2 Команда сравнения CMP
4.4.3 Команды условных переходов
4.5 Цепочечные команды
4.5.1 Пересылка цепочек
4.5.2 Сравнение цепочек
4.5.3 Сканирование цепочек
4.5.4 Загрузка элемента цепочки в аккумулятор
4.5.5 Загрузка элемента из аккумулятора в цепочку
4.6 Вопросы и задания для самопроверки

Модуль 5. Система прерываний микропроцессора i80486
5.1 Классификация прерываний
5.2 Таблица векторов прерываний
5.3 Порядок обслуживания прерываний
5.4 Установка обработчиков прерываний
5.5 Вопросы и задания для самопроверки

Модуль 6. Сложные типы данных
6.1 Массивы
6.1.1 Способы описания массивов в программе
6.1.2 Доступ к элементам массива
6.1.3 Двухмерные массивы
6.2 Структуры
6.2.1 Описание шаблона структуры
6.2.2 Определение данных с типом структуры
6.2.3 Методы работы со структурой
6.3 Вопросы и задания для самопроверки

Список использованной литературы