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

Микропроцессорная память

Базовая модель микропроцессора включает в себя 14 регистров двухбайтовых, в различных моделях реальных микропроцессоров, количество регистров разнится, как и их длинна (от 2 до 8 байт). В базовой модели все регистры разделяются на 4 основные группы:

  1. Универсальный регистры (ax, cx, dx, bx) Каждый регистр может использоваться для временного хранения любых данных, при этом работать можно, со всем регистром целиком, либо с его половинкой, при этом к старшим байтом относят регистры ah, ch, dh, bh, а младшие al, cl, bl, dl. При этом каждый из универсальных регистров может использоваться как и специальный, при выполнении некоторых конкретных команд программы. Регистр ax, это регистр аккумулятор. Через его порты осуществляются ввод – вывод данных в микропроцессор, а при выполнении операций умножения и деления используется для хранения первого числа, участвующего в операции и результата операции, после её завершения. Регистр bx часто используется для хранения адреса базы в сегменте данных и начального адреса, поля памяти при работе с массивом. Регистр cx это регистр счетчик, используется как счетчик числа повторений, при циклических операциях. Регистр dx, используется как расширение регистра аккумулятора, при работе с 32 разрядными числами и при выполнении операций, умножение и деление, может использоваться для хранения номера порта при операциях ввода – вывода и т.д.

Сегментные регистры (cs, ds, ss, es). Предназначены для хранения начальных адресов полей памяти или сегмента, отведенных в программах для хранения: команд программы – это сегмент года или cs, данных – это сегмент данных регистра ds, стековой области памяти - это сегмент стека регистр ss, дополнительной области памяти данных при межсегментных пересылках – это расширенный сегмент, регистр es.

  1. Регистры смещения (ip, sp, bp, si, di). Регистры смещения предназначены для хранения относительных адресов ячеек памяти в нутрии сегмента. Регистр ip – это смещение адреса текущей команды программы. Регистр sp – это смещение вершины стека или текущего адреса стека. Регистр bp – смещение начального адреса, поля памяти, непосредственно отведенного под стек. Регистры si и di – предназначены для хранения адресов индекса, источника и приемника данных, при операциях над строками и им подобных.

  2. Регистр флагов fl или просто f. Регистр флагов f содержит условные, одноразрядные признаки маски или флаги, управляющие прохождениями программы в ВМ и работающие независимо друг от друга. И лишь для удобства объединенные в единый регистр.

Всего регистр содержит 9 флагов, 6 из них статусные, отражающие результаты операции выполненных в ВМ, и 3 управляющих регистра, непосредственно определяющих режим исполнения программы.

Статусные регистры:

cf – флаг переноса, содержит значения переносов 0 или 1, из старшего разряда, при арифметических операциях и некоторых операциях сдвига и циклического сдвига.

pf – флаг четности, проверяет младшие 8 бит результатов операции над данными, если количество единичек четное то выставляется 1, не четное 0.

af – флаг логического переноса в двоично-десятичной арифметике. Это вспомогательный флаг переноса, устанавливается в 1, если арифметическая операция приводит к переносу или займу четвертого справа бита, однобайтового оператора. Этот флаг используется при арифметических операциях над двоично-десятичными кодами и кодами ASCII

zf – флаг нуля. Устанавливается в 1, если результат операции равен 0, и обнулятся в противоположенном случае.

sf – это флаг знака, при положительном результате устанавливается в 0, при отрицательном в 1.

of – флаг переполнения. Устанавливается в 1, при арифметическом переполнении.

Управляющие флаги:

tf – флаг системного прерывания, установка флага в 1 переводит работы процессора в режим пошагового выполнения программы (трассировка).

if – флаг прерываний. Установка в 0 – прерывания запрещает, в 1 – разрешает.

df – флаг направления, используются в строковых операциях, для задания направления обработки данных. При нулевом состоянии флага команда увеличивает содержимое регистров si и di на единицу, определяя обработку строк слева- направо, а при единичном состоянии флага справа - налево.

Все остальные регистры являются расширением этих базовых регистров.

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