- •1. Архитектура мп Intel 8086/8088. Алгоритм работы. Структурная схема. Операционное устройство, шинный интерфейс мп.
- •2. Организация памяти ibm. Единицы измерения памяти, сегментация памяти, вычисление физического адреса. Назначение и принцип работы стека.
- •3. Система ввода - вывода, адресное пространство ввода - вывода (порты), схема распределения адресного пространства портов ввода вывода. Команды ввода - вывода.
- •5. Программная модель мп. Состав, назначение. Группирование программно-доступных регистров. Назначение регистра флагов, его состав. Формирование физического адреса.
- •6. Режим адресации. Загрузка адреса в регистр. Директива offset. Обращение к массиву байт и массиву слов. Индексация в 2-х мерном массиве.
- •9. Команды ассемблера. Назначение и примеры команды передачи данных, арифметических, логических команд и сдвигов. Команды передачи управления.
- •10. Команды ассемблера. Цепочные команды и префиксы, команды ввода вывода команды управления мп.
- •11. Команды прерываний. Процедуры обработки прерываний. Особенности программирования
- •12. Прерывания dos и в108. Использование прерывания для ввода - вывода. Управления памятью. Запуск и завершение программ.
3. Система ввода - вывода, адресное пространство ввода - вывода (порты), схема распределения адресного пространства портов ввода вывода. Команды ввода - вывода.
Все устройства ЭВМ принято делить на внутренние и внешние. Внутренне устройства центрального процессора, внешние все остальные (внешняя память, клавиатура, дисплей, принтер и т.д.)
Под вводом выводом принимают обмен между ЦП и другими внешними устройствами.
Передача информации между ЦП и внешними устройствами осуществляется через порты. Порт - некоторый регистр размером в байт или слово. Порты размещаются от 0 до 00FFFF (216). Следовательно, возможно подключить 65536 порта одновременно, но реально всего 1024 устройства (2'°).
Чтение из порта осуществляется командой out (out ах, 21h), in (in ах, 21h).
Номера портов могут быть заданы двояко либо явным числом от 0 до 255, либо регистром dх, в который записывается номер порта (mov dx? 21h____ in ах,dх).
Порты могут быть 8-р или 16р. Адресное пространство ввода вывода эта пространство, которое не сегментируется и имеет размер 63 Кб, доступ к нему осуществляется только с помощью команд out или in.
4 Система прерываний МП. Общее понятие о прерываниях, какими они могут быть. Основные источники или типы прерываний. Внешние прерывания. Внутренние прерывания. Вектор прерывания. Таблица указателей векторов прерываний.
Прерывания – сигнал, заставляющий процессор прервать выполнение программы и перейти к другой. В случае возникновения прерывания процессор вызывает соответствующую процедуру, по окончанию исполнения которой возвращается к прерванному коду. Процессором могут выполняться прерывания 256 типов, каждому из которых соответствует свой вектор прерывания –адрес, определяющий начало подпрограммной обработки соответствующего прерывания.
По происхождению прерывания делятся на внутренние (прерывания процессора) и внешние (запросы от внешних устройств). Внутренние прерывания называются исключениями, выбираются процессором по особым условиям, возникающим при исполнении очередной инструкции. DIV 0- вырабатывается после выполнения деления на 0. ТRАСЕ - вырабатывается после выполнения каждой команды при установлении флага трассировки IР. INT 0 - вырабатывается, когда происходит переполнение. INTN – программные прерывания генерируются командой int.
Внешние прерывания (аппаратные) делятся по приоритетам от 0 до 7. Внешние прерывания делятся на маскируемые(обычные) и немаскируемые(аппаратные). Контролер прерываний запроса выполняет сортировку по приоритетам, передачу в МП, осуществляет запрет прерываний.
Обработчик прерываний - это программа, предназначенная для обслуживания запросов на прерывания.
Адреса, образованных прерываний называются вектором прерывания и для хранения векторов используются 1 КБ. В начале выполнения прерывание процессор помещает в сегментный регистр флагов.
Отбрасывает бит разрешения прерывания IР=0. Сбрасывает флаг трассировки IР=0. сохраняется в стеке СS:IР. IР=[N*4] выбирается адрес обработки. СS=(М*4+2]
Считывание команды по адресу СS:IР (переход и выполнение обработка прерывания). По инструкции контроллер извлекает из стека адреса возврата и сохранение значение регистра флага.
Таблица векторов прерывания - это таблица размером 1 КБ, которая содержит адреса (вектора) обработчиков прерываний.
