Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОргЭвм.Ответы.В качестве не уверен.doc
Скачиваний:
16
Добавлен:
26.10.2018
Размер:
1.31 Mб
Скачать

6.2. Машина пользователя и система команд


Рис. 6.4. Микропроцессор i8086 — машина пользователя


Программная модель микропроцессора (рис. 6.4) включает в себя программ­но-доступные объекты МПС, т. е. те объекты, состояние которых можно про­анализировать и/или изменить при помощи команд микропроцессора. К та­ким объектам относятся внутренние регистры микропроцессора, ячейки па­мяти и порты ввода/вывода.

Рассмотрим машину пользователя 18086. Кроме показанных на рис. 6.4 реги­стров процессора, в машину пользователя i8086 включатся адресное про­странство памяти объемом 1 Мбайт и два пространства портов ввода и выво­да по 64 Кбайт каждое.

Помимо операций с 16-разрядными регистрами общего назначения (РОН) АХ— DX, допускается обращение к каждому байту этих региетрШ* Afc-^ DL, АН— DH. В процессорах семейства дс86 система команд построена та­ким образом, что в некоторых командах РОН выполняют определенные по умолчанию функции счетчиков, индексных регистров, источников адреса и др.

Рис. 6.5. Формат регистра признаков i8086

16-разрядные регистры ВР, SI, DI используются для образования исполни­тельных адресов памяти, SP — указатель стека, IP— программный счетчик (СчК), Flags — регистр флагов, формат которого приведен на рис. 6.5, где:

  • CF — перенос/заем из старшего разряда;

  • PF — паритет (четность числа единиц в результате);

  • AF — дополнительный перенос (из 3-го разряда); О ZF — нулевой результат;

  • SF — отрицательный результат (знак);

  • OF — признак арифметического переполнения;

  • DF — направление, определяет направление модификации адресов массивов в командах цепочек (увеличение или уменьшение адреса);

  • IF — маскирует внешнее прерывание по входу INT (при IF = 1 прерывание разрешено);

□ TF —- управляет пошаговым режимом работы микропроцессора.

При TF = 1 после выполнения каждой команды автоматически формируется прерывание с вектором 1.

Система команд

Система команд насчитывает 113 базовых команд, объединенных в следую­щие группы:

□ команды передачи данных: -

  • между регистрами и памятью (включая стек), обмен содержимым ис­точника И приемника;

  • ввод, вывод, табличное преобразование;

  • загрузка исполнительного адреса в РОН, загрузка 4-байтового адресно­го объекта в регистры-указатели (начальный адрес сегмента и смеще­ние в сегменте);

  • передача содержимого регистра F флагов в память, в стек и из стека;

□ арифметические команды:

  • сложение, вычитание, умножение и деление двоичных чисел со знаком и без знака (произведение и делимое представляются числами двойной длины);

  • десятичная коррекция сложения и вычитания упакованных двоично-десятичных чисел;

• десятичная коррекция сложения, вычитания, умножения и деления рас­ пакованных двоично-десятичных чисел;

□ логические команды и сдвиги:

  • инверсия, конъюнкция, дизъюнкция, неравнозначность;

  • TgST —; поразрядная конъюнкция операндов с установкой флагов, но без занесения результатов;

- • сдвиги на 1 или заданное число разрядов (константа сдвига располага­ется bGL);

  • команды передачи управления: переходы, вызовы, возвраты имеют две разновидности— внутрисегментные ("близкие") и межсегментные ("дальние"). При близких передачах загружается только IP, при дальних — IP и CS. Передачи управления могут быть прямыми (целевой адрес — в команде) или косвенными (целевой адрес вычисляется с использованием стандартных режимов адресации). В 16 командах условных перехо­дов проверяются отношения знаковых и беззнаковых чисел. Имеются 4 команды управления циклами, которые рассчитаны на размещение числа повторений цикла в регистре СХ;

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