Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ntjhbz_igjhs.docx
Скачиваний:
46
Добавлен:
17.09.2019
Размер:
82.25 Кб
Скачать

Регистры.

EAX – предназначен для выполнения всех арифметических и логических операций. Его специальное назначение – аккумулятор накопления результата и использование в некоторых арифметических командах по умолчанию.

EBX – регистр базы, используется для всех операций, является базовым адресом массива хранения. Для некоторых операций преобразовывает данные XLAT.

ECX – регистр счетчик. Специальное назначение – является счетчиком в командах, которые выполняют циклические действия, или действия над массивами.(LOOP, REP mov SB).

EDX – регистр данных, используется для хранения результатов расширенных данных.

SI, DI – индексные регистры используются для адресации к памяти с модифмкацией этих адресов.

SP – указатель стека, используется для временного хранения памяти.

Стек – часть области памяти, очередь ячеек памяти, которая работает по принципу первый пришел последний обслужился и наоборот. SP указывает на вершину стека, используется в командах работы со стеком.

BP – регистр базового указателя стека.

Сегментные регистры.

CS - регистр сегмента команд

DS - сегмент данных

ES - регистр дополнительных данных

SS - регистр сегмента стека

Память разделена на сегменты. Внутри сегментов адреса ячеек нумеруются от 0. Физический адрес ячейки внутри сегмента вычисляется как сумма от сложения значения сегментного адреса с смещением ячейки в данном сегменте. Адрес в сегментном регистре имеет значение параграфа (число, кратное 16).

IP – регистр указателя команд. Содержит адрес следующей команды.

Регистр флагов. Он предназначен для фиксации результатов выполнения команд и состояние процессора.

С - флаг переносов, содержит перенос из старшего бита в результате арифметических операций и операций сдвига.

Р – флаг паритета, показывает сколько логических единиц получилось в результате выполненной операции. Когда флаг в 0, то нечетное количество единиц получилось в результате каждого действия.

А - арифметический перенос, устанавливает в единицу при наличии переноса из третьего в четвертый разряд.

Z – флаг 0 установится в единицу при получении нулевого результата. Единица, если результат равен 0, иначе Z=0.

S – флаг знака, содержит знак результата (0 – ‘+’, 1 – ‘-’).

Т – пошаговое выполнение действий, используется для отладки программ.

I - флаг прерываний, указывает на возможность внешнего прерывания процесса.

D - флаг направления, обозначает левое или правое направление обработки массивов строковой команды.

О – флаг переполнения, указывает на переполнение старшего бита при выполнении логических операций.

Остальные флаги используются для защитного режима системы.

15) Организация прерываний. Таблица адресов процедур прерывания. Структура программ обработки прерываний.

0 – таймер

1 – клавиатура

2 – канал ввода/вывода

8 – часы реального времени

9 –программа переводится в IRQ2

10-12 – системное использование

13 – математический сопроцессор

14 – контроллер физического диска

15 – резерв

3 – последовательный порт COM2

4 – последовательный порт COM1

5 – LPT2 (параллельный порт)

6 – Floppy-диск

7 – LPT1 (параллельный порт - принтер)

Маскирование 16 прерываний осуществляется с помощью регистра масок, которые находятся в микросхеме управления прерывания

Порт 20 – регистр управления прерываниями

Порт 21 – регистр масок

Чтобы запретить какое-либо прерывание, необходимо в соответствующий разряд регистра масок записать логическую единицу.

В случае если пользователь полностью заменяет стандартный обработчик аппаратных прерываний, то в конце программы обработки прерываний надо выдать в порт 20h байт с кодом 20h. Эти действия необходимы для очистки обслуживания прерываний. Для каждого прерывания у процессора есть своя программа обработки обслуживания прерываний. Адреса этих программ находятся в таблице адресов обработки прерываний.

Каждый элемент таблицы состоит из 4 байт и содержит значения IP и CS,

соответствующие началу программ, обслуживающих конкретные прерывания. Таблица располагается с нулевого адреса.

При получении сигнала прерывания процессор:

- Завершает текущую программу.

- Сохраняет свои IP и CS и регистр флагов в стеке.

- Затем по шине данных получает значение вектора прерываний.

- Загружает в IP, CS данные из таблицы адресов прерываний.

Процессор определяет тип или номер прерывания, считывая с шины данных код, соответствующий этому прерыванию, который формирует устройство, выставившее это прерывание. Вход на микропроцессор 1 (INTR).

При выходе из программы обработки прерываний выполняется команда IRET, которая восстанавливает регистр флагов, IP, CS из стека.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]