Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Регистры микропроцессора и форматы команд




Регистры общего назначения (РОНы) разбиты на две группы:

1. группа HL, состоящая из регистров Ax, Bx, Cx, Dx, которые предназначены для хранения данных и допускают раздельную адресацию их старших Н и младших L половин.

2. группа PI, содержащая указательные регистры BP, SP и индексные регистры SI, DI, в которых обычно хранится адресная информация.

 

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

Формат двухоперандной (двухадресной) команды имеет следующий вид:

Первый байт команды содержит код операции COP и два однобитовых поля:

d – направление передачи, w – длина операнда.

При d=1 осуществляется передача операнда или результата операции в регистр, который определяется полем reg второго байта команды.

При d=0 осуществляется передача операнда или результата из адресуемого полем reg регистра.

Поле w идентифицирует тип (разрядность) операндов:

при w=1 команда оперирует словом, состоящим из двух байт;

при w=0 команда оперирует одним байтом.

Второй байт, называемый постбайтом, определяет участвующие в операции регистры (reg) или регистр и ячейку памяти (поле r/m).

поле md – определяет режим;

поле reg – задает регистр;

поле r/m – указывает либо регистр (r) либо память(m). (m -от memory)

Поле reg определяет операнд, который обязательно находится в одном из регистров микропроцессора и условно считается вторым операндом. Поле r/m определяет операнд, который может находиться либо в регистре, либо в памяти и условно считается первым.

Поле reg используется только для указания регистра в двухоперандных командах. Если в команде один операнд, то он идентифицируется полем r/m, а поле reg отсутствует. Вместо поля reg в этом случае используется расширение кода операции.

Поле md (модальность) показывает, как интерпетируется поле r/m для нахождения первого операнда:

если md=11, то операнд находится в регистре, номер которого задан полем r/m, в остальных случаях операнд находится в памяти. Когда адресуется память, то поле md определяет вариант использования внутрикомандного смещения disp, находящегося в третьем и четвертом байтах команды:

00, то disp=0 и смещение отсутствует;

md= 01, disp=disp L – команда содержит 8-битовое смещение D8;

10, disp=disp H disp L – команда содержит 16-битовое смещение D16.

При md ≠ 11 реализуется косвенная адресация, и поле r/m определяет правила формирования эффективного адреса ЕА операнда в соответствии с таблицей:

  Поле md Регистровая адресация
r/m md=0 disp=0 md=01 disp=disp L=D8 md=10 disp=dispH dispL=D16 md=11
w=0 w=1
  Bx+SI Базово- индексная адресация Bx+SI+D8 Базово – индексная Bx+SI+D16 Базово – индексная AL Ax
  Bx+DI Базово – индексная Bx+DI+D8 Bx+DI+D16 CL Cx
  BP+SI Базово – индексная BP+SI+D8 BP+SI+D16 DL Dx
  BP+DI BP+DI+D8 BP+DI+D16 BL Bx
  SI индекс- ная SI+D8 индекс- ная SI+D16 индекс- ная AH SP
  DI адреса- ция DI+D8 адреса- ция   DI+D16 адреса- ция   CH BP
  D16 Абсо- лютная адре- сация BP+D8 Базо- вая адреса- ция BP+D16 Базовая адресация DH SI
  Bx Базовая адресация Bx+D8 Bx+D16 BH DI

 

Приведенные в таблице правила имеют одно исключение, позволяющее реализовать прямую (абсолютную) адресацию: если md=00, a r/m=110, то EA=D16=disp H disp L.

Таким образом, имеется три варианта интерпретации поля md и восемь вариантов интерпретации поля r/m, что дает 24 варианта вычисления эффективного адреса ЕА.

Смещение disp, содержащее в команде, интерпретируется как целое число со знаком, которое участвует в вычислении эффективного адреса ЕА.

Имеется специальный формат команды для непосредственной адресации, т.е. когда операнд располагается в самой команде.

Поскольку необходимость в адресации второго операнда отсутствует, то поле reg используется для расширения кода операции COP. Отсутствует также и бит направления d, т.к. результат операции можно поместить только на место первого операнда. Место этого бита занимает бит S, который является признаком использования одного или двух байт для задания непосредственного операнда. Поле S и W интерпретируются следующим образом:

х0, один байт данных data L;

SW= 01, два байта данных data H data L;

11, один байт данных, который автоматически расширяется со знаком

до 16 бит.

 

 




Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 854; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.