Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Постбайт



Это необязательный элемент команды. Задает один (для одноадресной команды) или два адреса операндов, один из которых используется и как адрес результата.

               
  md reg r/m  
Рис. 3.6. Структура постбайта

Постбайт (рис. 3.6) содержит 3 поля:

· md – поле режима адресации,

· reg – поле адреса регистра,

· r/m – поле адреса второго регистра или кода, определяющего способ вычисления адреса ячейки памяти.

Поле md. Это поле режима адресации.

Задает тип команды:

· регистр/регистр(r/r);

· регистр/память(r/m).

Для команд типа регистр-память задает процедуру вычисления адреса операнда в памяти:

· md =00 – режим адресации r/m без использования смещения,

· md=01 – режим адресации r/m с использованием смещения 1 байт),

· md =10 – режим адресации r/m с использованием смещения 2 байт),

· md =11 – режим адресации r/r.

Задании md ¹ 11 определяет команду типа регистр-память. В этом случае поле r/r содержит номер РОНа, в котором находится один из операндов, а поле r/m, – номер алгоритма вычисления адреса памяти, по которому хранится адрес второго операнда.

Исключение:

Можно задавать адрес операнда в памяти прямым 16-ти разрядным адресом. Признаком прямой адресации является комбинация значений md = 00 и r/m = 110 (в табл.1 выделены жирным шрифтом).

Количество байтов смещения disp, расположенных после постбайта, определяется по полю md постбайта.

На рис. 3.7 представлена структура команд МП Intel в реальном режиме и схемы вычисления адресов операндов.

  Структура команд МП Intel в реальном режиме.
0,1 байт 1 байт 0,1 байт 0,1,2 байта 0,1,2 байта  
Префикс Код операции. Постбайт Disp # d  
           
  md r r/M        
  2 бита 3 бита 3 бита        
если     r/M≤11, то – команда типа r/M; базовая индексная адресация; 1-й операнд находится в регистре, указанном полем r, адрес M вычисляется как(B)+(X)+#d16,где В и Х задаются кодом поля r/M.
при: 00 ü Disp– отсутствует
  01 ý Disp = 1 байт
  10 þ Disp = 2 байта
При   Команда типа r/r, операнды находятся в регистрах, указанными полями r и r/M.
Вариант относительно-индексной адресации памяти:    
если     r/M≥100, то команда типа r/M, первый операнд находится в регистре, указанном полем r, адрес M вычисляется как(B)+ Disp,где B– задается кодом поля r/Mпостбайта.
при 00 ü Disp – отсутствует
  01 ý Disp= 1 байт
  10 þ Disp= 2 байта
       
Исключение: при md=00 и r/M = 110, адрес задается прямым 16-ти битным смещением (#d16).
Выбор сегмента: при указании в качестве компоненты адреса – (bp), используется сегмент стека (SS), иначе – сегмент данных (DS)
Рис.3.7. Структура команд МП Intel в реальном режиме и схемы вычисления адресов операндов.
                         

В табл.1. представлены все формулы для вычисления адресов РОНов и ячеек памяти в зависимости от значений полей постбайта: md, reg, r/m.

Таблица 1.Постбайтовые режимы адресации МП IA-16
Поле r/m Поле md
       
w=0 w=1
  DS:[bx + si] DS:[bx + si + disp(1 байт)] DS:[bx + si + disp(2 байта)] al ax
  DS:[bx + di] DS:[bx + di + disp(1 байт)] DS:[bx + di + disp(2 байта)] cl cx
  SS:[bp + si] SS:[bp + si + disp(1 байт)] SS:[bp + si + disp(2 байта)] dl dx
  SS:[bp + di] SS:[bp + di + disp(1 байт)] SS:[bp + di + disp(2 байта)] bl bx
  DS:[si] DS:[si + disp(1 байт)] DS:[si + disp(2 байта)] ah si
  DS:[di] DS [di + disp(1 байт)] DS [di + disp(2 байта)] ch di
  DS:[disp-2 байта] SS:[bp + disp(1 байт)] SS:[bp + disp(2 байта)] dh bp
  DS:[bx] DS [bx + disp(1 байт)] DS [bx + disp(2 байта)] bh bx

Вопросы для самопроверки:

1. Структура команд в МП IA-16.

2. Назначение префикса в командах МП IA-16.

3. Назначение постбайта в командах МП IA-16.

4. Поля постбайта в командах МП IA-16.

5. Поля постбайта в командах МП IA-16.

6. Тип сегмента используемого по умолчанию при выборке команд в МП IA-16.

7. Тип сегмента используемого по умолчанию при выборке операнда в МП IA-16.

8. Тип сегмента используемого по умолчанию при работе со стеком в МП IA-16.

9. Тип сегмента используемого по умолчанию при работе с командами обработки строк в МП IA-1.

10. Способы замены сегментов, используемых по умолчанию.

11. Назначение постбайта в МП IA-16.

12. Основные поля постбайта в МП IA-16.

13. Назначение поля md постбайта в МП IA-16.

14. Назначение поля reg постбайта в МП IA-16.





Дата публикования: 2014-11-03; Прочитано: 2039 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...