- •Конспект лекций по дисциплине «Программные средства аппаратно-программных комплексов»
- •Содержание
- •Архитектура пэвм
- •Пользовательские регистры
- •Организация памяти (реальный режим)
- •Элементы синтаксиса Ассемблера
- •Операторы
- •Директивы сегментации
- •Модели памяти
- •Идентификаторы, создаваемые директивой Model:
- •Этапы создания программы на ассемблере
- •2. Создание объектного модуля (трансляция программы)
- •1 ;Программа преобразования двузначного шестнадцатеричного числа
- •3. Создание загрузочного модуля (компоновка программы)
- •4. Отладка программы
- •Определение простых типов данных:
- •Способы адресации Регистровая адресация
- •Непосредственная адресация
- •Способы адресации памяти
- •Переопределение сегмента
- •Особенности пересылки данных
- •Xch ax, bx ; команда двунаправленного обмена
- •Команды работы с адресами и указателями
- •Команды сдвига
- •Команды линейного сдвига
- •Команды циклического сдвига
- •Команды сдвига двойной точности
- •Примеры работы с битовыми полями
- •Команды преобразования данных
- •Xor ax, ax ; очистка регистра ax
- •Int 21h ;ожидание вода с клавиатуры
- •Команды обработки строк
- •Команды пересылки строк
- •Команды сравнения строк
- •Пример.
- •Сканирование строки
- •Загрузка элемента строки в аккумулятор
- •Перенос элемента из аккумулятора в строку
- •Ввод элемента цепочки из порта в строку
- •Вывод элемента цепочки в порт
- •Пример использования вложенных циклов
- •Массивы
- •Логические команды
- •Xor операнд1,операнд2
- •Логические команды поиска
- •Структуры
- •Описание шаблона структуры:
- •Заполнение шаблона:
- •Работа с полями структуры
- •Пример:
- •Шаблон записи:
- •Xor bl, mask i2 ; обнуление
- •Команды передачи управления
- •Безусловные переходы
- •Межсегментные переходы
- •Второй сегмент
- •Команды условного перехода
- •Команды условного перехода и флаги
- •Процедуры
- •Вызов процедуры
- •Ret [число]
- •Способы вызова процедуры
- •Прямой ближний вызов
- •Прямой дальний вызов
- •Косвенный ближний вызов
- •Косвенный дальний вызов процедуры
- •Организация интерфейса между процедурами, расположенными в разных модулях
- •Передачи параметров в процедуру через регистры
- •Передача параметров в процедуру через общую память
- •Макрокоманды и макроопределения
- •Особенности трансляции при получении объектного модуля
- •Где можно разместить макроопределение?
- •СвязьAssemblerс языками высокого уровня
- •Использование директивыmodelдля организации взаимодействия программ
- •Int 10h; вывод символа
- •Возврат данных в вызывающую программу
- •Пример взаимодействия программ
- •Особенностиcom-программы
- •Int 27h ; оставляем программу резидентной
- •Вызов резидентной программы
- •Запись адреса резидентной программы в область межзадачных связей
- •Iret ;возврат из процедуры
- •Int 27h ; оставляем программу резидентной
- •Вызов резидентной программы через область межзадачных связей
- •Передача параметров в резидентную программу
- •Замена существующего вектора прерывания
- •Динамическое распределение памяти
- •Пример выделения и освобождения блока памяти
- •Int 21h ;блока памяти
- •Дочерние процессы
- •Особенности структуры материнской программы
- •Активизация дочернего процесса
- •Пример материнской программы
- •Программируемый контроллер прерываний
- •Прохождение запроса на прерывание через контроллер
- •Программирование контроллера прерываний
- •Формат приказов icw
- •Формат приказов ocw
- •И fспользование таймера в программах на Assembler
- •Формирование задержки
- •Использование прерываний 8h для управления запуском программ
- •Программирование коммуникационного порта (com)
- •Микросхема uart 8250
- •Инициализация порта
- •Пример программы инициализации порта
- •Регистр статуса линии (порта)
- •Работа порта без использования механизма прерываний
- •Получение данных
- •Передача данных
- •Алгоритм работы программы приема /передачи без прерываний
- •Текст программы
- •РаботаCom– порта в режиме прерываний
- •Регистр разрешения прерываний
- •Регистр идентификации прерывания
- •Вызов обработчика прерывания
- •; Инициализация регистра разрешения прерывания (прием/передача)
- •Пример установления связи через порт и модем
- •Защищенный режим микропроцессора
- •Структура дескрипторных таблиц
- •Локальная дескрипторная таблица (ldt)
- •Структура дескриптора:
- •Структура байта ar
- •Обработкапрерываний в защищенном режиме
- •Особенности обработки ловушек
- •Шлюз задачи
- •Дескриптор tss
- •Структура шлюза вызова
Федеральное агентство по образованию
Рязанский государственный радиотехнический университет
Факультет автоматики и информационных технологий в управлении
Кафедра автоматизированных систем управления
Конспект лекций по дисциплине «Программные средства аппаратно-программных комплексов»
Специальность 230201
«Информационные системы и технологии»
Дневная и вечерняя формы обучения
2011г
Содержание
Архитектура ПЭВМ 4
Пользовательские регистры 5
Организация памяти (реальный режим) 8
Элементы синтаксиса Ассемблера 9
Операторы 10
Директивы сегментации 15
Модели памяти 17
Этапы создания программы на ассемблере 19
Определение простых типов данных: 29
Способы адресации 30
Особенности пересылки данных 32
Команды работы с адресами и указателями 33
Команды сдвига 34
Команды преобразования данных 40
Команды обработки строк 40
Загрузка элемента строки в аккумулятор 44
Перенос элемента из аккумулятора в строку 45
Вывод элемента цепочки в порт 46
Циклы 47
Пример использования вложенных циклов 48
Массивы 49
Логические команды 53
Логические команды поиска 53
Структуры 54
Работа с полями структуры 55
Записи 56
Команды передачи управления 58
Команды условного перехода и флаги 65
Процедуры 65
Вызов процедуры 67
Способы вызова процедуры 68
Организация интерфейса между процедурами, расположенными в разных модулях 71
Возврат результата из процедуры 76
Макрокоманды и макроопределения 76
Особенности трансляции при получении объектного модуля 77
Где можно разместить макроопределение? 77
Связь Assembler с языками высокого уровня 78
Требования к программе на языке Assembler 79
Требования к программе на языке Pascal 79
Передача параметров из Pascal-программы в программу на ассемблере 80
Использование директивы model для организации взаимодействия программ 80
Возврат данных в вызывающую программу 81
Особенности com-программы 82
Резидентные программы 84
Пример резидентной программы типа .com 84
Вызов резидентной программы через область межзадачных связей 87
Замена существующего вектора прерывания 88
Дочерние процессы 93
Особенности структуры материнской программы 94
Активизация дочернего процесса 95
Прерывания 97
Программируемый контроллер прерываний 99
Программирование контроллера прерываний 101
Использование таймера в программах на Assembler 105
Использование прерываний 8h для управления запуском программ 106
Программирование коммуникационного порта (COM) 107
Регистр статуса линии (порта) 111
Работа COM – порта в режиме прерываний 114
Управление модемом через порт 117
Защищенный режим микропроцессора 118
Структура дескрипторных таблиц 120
Обработка прерываний в защищенном режиме 123
Особенности обработки ловушек 125
Шлюз задачи 126
Архитектура пэвм
Понятие «архитектура» включает:
структурная схема ЭВМ,
средства и способы доступа к элементам структурной схемы,
организация и разрядность интерфейсов ЭВМ,
набор доступных регистров,
организация и способы адресации памяти,
способы представления и форматы данных,
набор машинных команд,
форматы машинных команд,
обработка внештатных ситуаций (прерываний).
Микропроцессоры имеют свои архитектурные особенности:
конвейеризация вычислений,
кэширование кода и данных,
предсказание правильного адреса перехода,
усовершенствованные вычисления с плавающей точкой.
Конвейер при функционировании использует разбиение выполнения команды на 5 этапов:
выборка команды из кэш – памяти или ОЗУ,
декодирование команды,
генерация адресов операндов в памяти,
выполнение операции с помощью АЛУ,
запись результата.
Очередная команда после выборки попадает в блок декодирования, освобождая блок для записи следующей команды. В результате на конвейере могут находиться в различных стадиях выполнения до 5 команд:
5к 4к 3к 2к 1к
1с
2с 3с 4с 5с



к
– команда

с
– стадия
