Системное программное обеспечение. Рощин А.В. - 8 стр.

UptoLike

Составители: 

8
1.2 Способы адресации
Генерация физического адреса
Адресная шина микропроцессора 8088 является 20-разрядной и
позволяет адресовать 1 мегабайт (1 048 576 байтов). В этом
микропроцессоре используется сегментная организация памяти, причем
каждый сегмент не превышает 64 килобайт (65536 байтов). Каждый
сегмент должен начинаться с границы параграфа (1 параграф = 16 байтам).
Так как в микропроцессоре 8088 имеется четыре сегментных регистра,
микропроцессор одновременно имеет доступ
к четырем сегментам
сегменту кода, сегменту данных, сегменту стека и дополнительному
сегменту.
Сегменты могут располагаться в памяти произвольно, частично или
полностью перекрываясь. Базовые адреса сегментов находятся в
сегментных регистрах CS, DS, SS и ES соответственно.
Физический 20-разрядный адрес складывается из адреса сегмента и
смещения:
15 0
Адрес сегмента 0 0 0 0
+ 15 0
Смещение
= 19 0
Физический адрес
Смещение или перемещаемый адрес операнда внутри сегмента
образуется в микропроцессоре 8088 множеством различных способов,
зависящих от способа адресации. Вычисленное значение этого смещения
называется исполнительным адресом (The Effective Address – EA). Способ
адресации определяется вторым байтом команды, состоящим из трех
полей:
7 6 5 3 2 0
Mod Reg R/m
Двухразрядное поле Mod может принимать следующие значения:
00 – байтов смещения нет,
01 – следом идет один байт смещения со знаком,
10 – следом идут два байта смещения без знака,
11 – в команде используются регистровые операнды.
Трехразрядное поле Reg указывает регистр, содержащий операнд (8-
битный при работе с байтами и 16-битный при работе со словами):
000 – AL или AX 100 – AH или SP
001 – CL или CX 101 – CH или BP
010 – DL или DX 110 – DH или SI
                                        8



         1.2 Способы адресации

         Генерация физического адреса

     Адресная шина микропроцессора 8088 является 20-разрядной и
позволяет адресовать 1 мегабайт (1 048 576 байтов). В этом
микропроцессоре используется сегментная организация памяти, причем
каждый сегмент не превышает 64 килобайт (65536 байтов). Каждый
сегмент должен начинаться с границы параграфа (1 параграф = 16 байтам).
Так как в микропроцессоре 8088 имеется четыре сегментных регистра,
микропроцессор одновременно имеет доступ к четырем сегментам –
сегменту кода, сегменту данных, сегменту стека и дополнительному
сегменту.
     Сегменты могут располагаться в памяти произвольно, частично или
полностью перекрываясь. Базовые адреса сегментов находятся в
сегментных регистрах CS, DS, SS и ES соответственно.
     Физический 20-разрядный адрес складывается из адреса сегмента и
смещения:
    15                                                 0
                          Адрес сегмента                   0   0   0   0
+                   15                                                 0
                                            Смещение
=   19                                                                 0
                                 Физический адрес
      Смещение или перемещаемый адрес операнда внутри сегмента
образуется в микропроцессоре 8088 множеством различных способов,
зависящих от способа адресации. Вычисленное значение этого смещения
называется исполнительным адресом (The Effective Address – EA). Способ
адресации определяется вторым байтом команды, состоящим из трех
полей:
    7 6 5         3 2      0
    Mod      Reg      R/m
     Двухразрядное поле Mod может принимать следующие значения:
     00 – байтов смещения нет,
     01 – следом идет один байт смещения со знаком,
     10 – следом идут два байта смещения без знака,
     11 – в команде используются регистровые операнды.
     Трехразрядное поле Reg указывает регистр, содержащий операнд (8-
битный при работе с байтами и 16-битный при работе со словами):
     000 – AL или AX 100 – AH или SP
     001 – CL или CX 101 – CH или BP
     010 – DL или DX 110 – DH или SI