Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Формат команды 16-разрядного МП. Способы адресации данных

Читайте также:
  1. Автоматическое регулирование напряжения трансформаторами с РПН
  2. Автотрансформаторы.
  3. Александр 1: трагедия реформатора
  4. Анализ данных.
  5. Арифметические команды
  6. Базы данных. Общие сведения. Основные понятия баз данных
  7. Билет 32. Способы разрешения конфликтов.
  8. В разведке, и способы их выполнения.
  9. Векторные диаграммы замещенного трансформатора
  10. ВИДЫ И СПОСОБЫ ДВИЖЕНИЯ

       
   


младший байт смещения/ данные старший байт смещения/ данные младший байт данных старший байт данных  
КОП D W MOD REG R/M  
 

1-ый байт 2-ой байт

(постбайт)

 

Рисунок – Формат команды микропроцессора INTEL 8086

Команды микропроцессора INTEL 8086 занимают в памяти от 1 до 6 байт. Исполнительный адрес памяти представляет собой 16-разрядное беззнаковое целое, являющееся смещением относительно базы некоторого сегмента. Полный (физический) адрес формируется с использованием содержимого одного из сегментных регистров.

Режимы адресации подразделяются на прямые и косвенные.

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

Микропроцессор INTEL 8086 имеет организацию типа «регистр-память». С точки зрения адресации это означает, что команды микропроцессора адресуют максимум два операнда и что не допускается одновременная адресация двух ячеек памяти. Первым операндом в двухоперандной команде обычно является содержимое регистра или ячейки памяти, а вторым – содержимое регистра или непосредственный операнд в команде.

КОП – определяет тип выполняемой операции.

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

W– определяет разрядность операндов: W=1 – команда обрабатывает 16-разрядные числа, W=0 – команда обрабатывает 8-разрядные числа.

Второй байт команды называется постбайтом. Постбайт определяет участвующие в операции регистры или регистр и ячейку памяти.

 
MOD REG R/M  
 

MOD - режим

REG - регистр

R/M – регистр/ память

 

Поле REG определяет операнд, который обязательно находится в регистре и условно считается вторым операндом.

Поле R/M определяет операнд, который может находиться в регистре или памяти и условно считается первым операндом.

Поле REG используется для указания регистра только в двухоперандных командах. Если в команде один операнд, то он определяется полем R/M.

Способ кодирования внутренних регистров микропроцессора в полях REG и R/M представлен в таблице 1.

Таблица 1 - Способ кодирования внутренних регистров микропроцессора

Поле R/M или REG W=0 W=1 Поле R/M или REG W=0 W=1
AL AX AH SP
CL CX CH BP
DL DX DH SI
BL BX BH DI

Поле MOD определяет используемый режим адресации: регистровый режим/ режим памяти. Разряды поля MOD определяют вид информации в поле R/M для нахождения адреса первого операнда.

Когда MOD = 11, то поле R/M определяет 8- или 16-разрядный регистр в соответствии с таблицей кодирования 1.

Если разрядами MOD определено, что второй операнд расположен в памяти, то разряды R/M определяют способ формирования исполнительного адреса операнда. В командах с обращением к памяти полученный исполнительный адрес – это смещение, добавляемое к сегменту для нахождения физического адреса операнда в оперативной памяти. Для каждой комбинации значений поля MOD формирование исполнительного адреса определяется полем R/M по таблице 2.

Таблица 2 - Формирование исполнительного адреса

R/M MOD
смещение сегмент смещение сегмент смещение сегмент
BX+SI данных BX+SI+d8 данных BX+SI+d16 данных
BX+DI данных BX+DI+d8 данных BX+DI+d16 данных
BP+SI стека BP+SI+d8 стека BP+SI+d16 стека
BP+DI стека BP+DI+d8 стека BP+DI+d16 стека
SI данных SI+d8 данных SI+d16 данных
DI данных DI+d8 данных DI+d16 данных
непосредственная адресация данных BP+d8 стека BP+d16 стека
BX данных BX+d8 данных BX+d16 данных

d8, d16 – диспозиция (disp) –смещение, заданное в 3-ем и 4-ом байтах формата команды. Разряды MOD определяют количество байтов смещения, применяемых при расчете исполнительного адреса:

MOD=00 disp=0,

MOD=01 команда содержит 8-разрядное смещение,

MOD=10 команда содержит 16-разрядное смещение.

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

Режимы адресации микропроцессора INTEL 8086:

  1. непосредственная,
  2. прямая,
  3. регистровая,
  4. косвенная,
  5. базовая адресация, при которой исполнительный адрес операнда является суммой смещения (disp) и содержимого регистров BX или BP. При использовании BX происходит обращение к операнду в текущем сегменте данных, а при использовании BP – в текущем сегменте стека.
  6. индексная адресация, при которой исполнительный адрес операнда является суммой смещения (disp), находящегося в команде, и содержимого регистров SI или DI.

Базовая и индексная адресации обычно применяются при обращении к различным элементам массива (таблицы) данных. Смещение (disp) определяет начальный адрес массива. Индексный или базовый регистр, содержимое которого может изменяться при выполнении программы, определяет элемент массива (таблицы).

  1. базово-индексная адресация, при которой исполнительный адрес операнда равен сумме содержимого базового регистра, индексного регистра и смещения (disp), находящегося в команде.

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

 


<== предыдущая страница | следующая страница ==>
Система команд МП, обобщенный формат команды МП, классификация команд | Общие сведения о системе прерываний МП

Дата добавления: 2014-08-04; просмотров: 405; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.