6 байт, располагается побайтно в ячейках с последовательно возрастающими адресами, часто используемые команды имеют более короткий формат.
Префиксы
Команда
Повтор
Замена
сегмента
Код операции
Пост байт
Смещение
Операнд
(0:1)
(0:1)
(1)
(0:1)
(0:2)
(0:2)
Префикс повторения - определяет кол-во повторений команды при автомат. обработке цепочек.
Префикс замены сегмента - явно определяет сегментный регистр для конкретной команды.
REG
REG= 00:ES,01:CS,10:SS,11:DS
mov AX,[BX]- mov ES:[BX]
Код операции- определяет какая операция выполняется, кроме кода операции содержит служебные виды. Расширение кода операции может находиться во втором байте команды.
Постбайт- байт режима адресации, определяет виды и тип операндов.
Mmod(2)
Rreg(3)
r r/m(3)
mod совместно с полем r/m задает режим адресации.
Reg – кодирует используемый в команде регистр
r/m – регистр или память.
Смещение- 8:16 разрядный, если команде задано смещение mov AX,[BX+2]. В команде указывается младший байт, а затем старший байт смещения.
Непосредственный операнд - содержится в коде команды ,м/б 1-2 байтовым.
10. Формат двухоперандной команды:
Регистр-регистр, регистр-память.
КОП
d
w
mod
reg
R/m
Смещение младшего байта
Смещение старшего байта
КОП - команда, d- бит направления, направление передачи данных(1-в регистр,0-из reg), w- размер, тип операнда(0-байт,1-слово 2b)
Поле reg задает регистр теми же значениями, что и поле регистров память.
Код операции- определяет какая операция выполняется, кроме кода операции содержит служебные виды. Расширение кода операции может находиться во втором байте команды.
Постбайт- байт режима адресации, определяет виды и тип операндов.
Система прерываний МП i8086. Понятие прерывания, вектора прерывания. Таблица векторов прерываний.
Прерывание - сигнал, заставляющий МП прекратить выполнение текущей программы и переключиться на выполнение др. программы, называемой процедурой обработки прерывания (ПОП).
После обслуживания прерывания, возобновляется прерывание программы, т.о. система прерываний обеспечивает реакции МП на события, требующие вмешательства.
Виды прерываний:Все прерывания делятся на внутренние и внешние.
Внутренниевозникают в результате работы самого МП, могут инициализироваться самим МП (называются логическими прерываниями), либо инициализируются программно (наз. программными).
Внешние прерывания возникают по сигналу какого-либо устройства.
Все внешние делятся на маскируемые и немаскируемые. МП имеет 2 входа, по которым может поступать сигнал прерывания. Во-первых, это вход, который называется INTR - запрос на прерывание поступает с контроллера прерываний (маскируемые или аппаратных прерывания). Второй вход, минуя контроллер NMI (немаскируемые прерывания).
МП имеет двухуровневую векторную систему прерываний с внутренними и внешними источниками.
Может распознавать до 256 различных прерываний. Любой источник прерывания характеризуется своим номером (кодом 0..256) - однозначно определяется вид прерывания. МП использует данный номер для определения точки входа в специальную таблицу, которая называется таблицей векторов прерываний. Она располагается в младших адресах адресного пространства, начиная с логического
адреса 00. Занимает 1 Kb памяти, состоит из ячеек размером по 4b. Любая ячейка содержит вектор (адрес) процедуры обработки прерывания в формате (сегмент-смещение CS:IP).
0-прерывание хранится по делению на 0. CS:IP=2BE805F1(младший байт хранится в ячейке с младшим адресом). Часть номеров прерываний определяется архитектурой МП, часть определяется ОС и остальные относятся к пользовательским прерываниям.