- •Магомедов и. А. Микропроцессорные системы. Аппаратные и программные средства.
- •Глава 1. Микропроцессоры
- •Глава II. Программирование микропроцессоров
- •Глава III. Лабораторный практикум по программированию мп i80х86
- •Глава 1. Микропроцессоры
- •1.1. Назначение микропроцессоров
- •1.2. Универсальные микропроцессоры
- •1.2.2. Микропроцессоры компании amd
- •1.2.3. Микропроцессоры компании Cyrix
- •1.2.4. Микропроцессоры с архитектурой Alpha
- •1.2.5. Микропроцессоры с архитектурой sparc
- •1.2.6. Микропроцессоры Hewlett-Packard ра-8000
- •1.3. Микропроцессоры обработки сигналов
- •1.3.1. Сигнальные микропроцессоры компании
- •1.3.2. Сигнальные микропроцессоры компании Motorola
- •1.3.3. Микропроцессоры семейства dsp 560хх
- •1.4. Медийные микропроцессоры
- •1.5. Транспьютероподобные микропроцессоры
- •1.6. Нейропроцессоры
- •Глава II. Программирование микропроцессоров
- •2.1. Программная модель 32-разрядных процессоров
- •2.1.2. Типы данных
- •2.1.3. Регистры процессора
- •2.2. Форматы команд
- •2.3. Выбор операнда
- •2.4. Режимы адресации
- •Вопросы для самоконтроля к главе 2
- •Глава III. Лабораторный практикум по программированию мп i86
- •Обобщенная структурная схема микропроцессора х86
- •Организация основной памяти и средства аппаратной поддержки управления памятью
- •Выполнение программы
- •Формат операторов ассемблера
- •Определение полей памяти для размещения данных.
- •3.2. Операнды команд ассемблера
- •Команда пересылки данных
- •Команда загрузки исполнительного адреса
- •Команды загрузки указателя.
- •Команда записи в стек
- •Команда обмен данными
- •Команды сложения/ Команды вычитания
- •Команда изменения знака
- •Команда добавления /вычитания единицы
- •Команда сравнения
- •Команды умножения/ деления
- •Команда преобразования байта в слово, а слова - в двойное слово.
- •Команды передачи управления
- •Команды условного перехода
- •Команды организации циклической обработки
- •Команда перехода по обнуленному счетчику
- •Команды организации цикла с условием
- •Команды вызова подпрограмм
- •Команда возврата управления
- •Команды обработки строк
- •Логические команды
- •2. Программирование циклических процессов.
- •3. Моделирование одномерных массивов
- •4. Моделирование матриц
- •5. Преобразования ввода-вывода.
- •3.4. Основные команды отладчика afd
- •Fspec определяет имя файла, наименованного в соответствии с соглашениями dos. Для команды l расширением по умолчанию является “exe”;
- •String задает список значений или ascii строк (строка заключена в кавычки) разделенных пробелами или запятой.
- •Например: 1234 bx, ‘tromb’ ff.
- •Лабораторная работа № 1 Создание выполнимого файла, работа в отладчике, изучение оператора пересылки mov
- •Оператор mov
- •Индивидуальные задания
- •Лабораторная работа № 2 Сегментация памяти, директивы ассемблера
- •Прямая адресация
- •Косвенная адресация
- •Директива assume
- •Индивидуальные задания
- •Лабораторная работа №.3 Директивы equ, label, команды сложения и вычитания Директива equ
- •Директива label
- •Команды сложения и вычитания
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Лабораторная работа № 4 Изучение операторов обмена xchg и xlat
- •Индивидуальные задания Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Система команд процессораi486
- •П1. Команды пересылки данных
- •П2. Арифметические команды
- •П3. Логические команды
- •П4. Команды переходов
- •П5. Команды процессора i486
Вопросы для самоконтроля к главе 2
Назначение и области применения МП
Форматы команд микропроцессоров Intel 80i86. Назначение полей команд.
Назначение РОН и регистра флажков МП. Назначение регистра флажков и его связь с командами условного перехода.
Расположение команд в памяти МП и последовательность их выполнения.
Режимы адресации МП Intel 80x86 и их сравнительный анализ. Примеры.
Сегментные регистры и их назначение. Сегментированная модель памяти.
Стек. Назначение и организация стека. Принцип работы стека.
Система команд МП Intel 80i86. Команды обращения к внешним устройствам и их отличительные особенности.
Команды МП Intel 80i86 для работы с 8-, 16- и 32-битными данными. Примеры команд и их анализ.
Глава III. Лабораторный практикум по программированию мп i86
Данная глава содержит методические указания по выполнению лабораторных работ и предназначены для студентов всех форм обучения. Целью этих работ является приобретение навыков программирования на языке ассемблера для МП i486, который является базовым для ассемблеров процессоров более поздних модификаций.
Указания включают лабораторные работы из цикла, состоящего из восьми работ, и содержат материал по изучению приемов программирования с привлечением основных команд арифметических, логических и сдвиговых операций, а также команд и директив, обеспечивающих создание процедур и функций на языке ассемблера. Каждая лабораторная работа препровождается примером по составлению программы на заданную тему.
Целью данного раздела является ознакомление студентов с основами программирования на языке ассемблера для микропроцессоров фирмы Intel [33, 35, 36]. Для получения практических навыков в программировании на ассемблере предлагается использование отладчика AFD, для чего приводится система его команд. В методических указаниях содержатся индивидуальные задания, охватывающие наиболее часто используемые директивы и команды.
Обобщенная структурная схема микропроцессора х86
Выше, во второй главе приведена программная модель микропроцессора i486 и ее описание (см. разделы 2.1-2.4), а на рис 3.1 представлена обобщенная структурная схема микропроцессора х86, в состав которого входят [33, 34]: устройство управления (УУ), арифметико-логическое устройство (АЛУ), блок преобразования адресов и регистры.
Работа процессора заключается в следующих основных действиях:
Определения местонахождения очередной команды программы, находящейся в оперативной памяти;
Обрашение к памяти и считывание этой команды из памяти;
Декодирование команды и формирования управляющих сигналов в соответствии с кодом команды для арифметико-логического устройства;
Выполнения действий, указанных в этой команде (такими действиями могут быть выполнение арифметических и логических операций над данными, вывод информации на экран и другие).
Совокупность указанных шагов называется машинным циклом. Процессор состоит из следующих блоков:
Устройство декодирования и выборки команд считывает очередную команду из оперативной памяти, преобразует данную команду в коды, поступающие в устройство управления.
Устройство управления (УУ) управляет работой различных устройств компьютера. УУ представляет собой схему, на входы которой поступают коды выполняемой в данный момент команды, а выходом является серия сигналов, направляемых в то устройство, которое надо задействовать для выполнения этой команды: например, если выполняется команда по сложению данных, то УУ посылает сигнал в арифметическо - логическое устройство.
Арифметическо - логическое устройство (АЛУ) осуществляет обработку (арифметические и логические вычисления) поступающих данных в соответствии с выполняемой командой под воздействием УУ.
Регистры общего назначения, используются как временная память для хранения обрабатываемых в АЛУ данных и для хранения результата их обработки; как временная память при пересылки данных из одного блока процессора в другой. Специальный регистр-указатель команд содержит адрес выполняемой в данный момент команды, по которому та находится в основной памяти. После выполнения данной команды, УУ автоматически увеличивает значение этого регистра на единицу, то есть вычисляет адрес в основной памяти, по которому расположена следующая команда (регистры используются для хранения управляющей информации: адресов и данных).
