Форматы команд 16-разрядного МП
Команда может содержать от одного до шести байтов (рис.2.4) КОП КОП 11 reg r/m
КОП mod коп r/m
КОП mod reg r/m МБ disp СБ disp
КОП 11 коп r/m МБ data СБ data
КОП mod коп r/m МБ disp СБ disp МБ data СБ data
Формат первого байта команды показан на рис. 2.5.
7 2 1 0
коп d w
или 7 2 1 0
коп reg
или 7 4 3 2 0
коп w reg
Рис. 2.5. Формат первого байта команды
Поле d (directin) определяет направление передачи операнда. Если d=1, то направление передачи в регистр, если d=0, то из регистра. Поле W (word) определяет тип операнда. Если W=1, то операнд - 16-разрядное слово, если W=0 - байт. Двухразрядное поле reg служит для размещения адреса сегментного регистра (табл. 2.2), а трехразрядное поле - для размещения адреса регистров общего назначения (табл. 2.3). В остальных разрядах первого байта команды размещается код операции (КОП). Таблица 2.2 Таблица 2.3 Адреса сегментных регистров Адреса регистров общего назначения
Имя Адрес Имя регистра Адрес (rrr) регистра (r r) при W=1 при W=0 ES 00 АХ AL 000 CS 01 CX CL 001 SS 10 DX DL 010 DS 11 BX BL 011 SP AH 100 BR CH 101 DI DH 110 SI BH 111
Во втором байте команды указан способ адресации. В зависимости от способа адресации за вторым байтом команды могут следовать один или два байта непосредственных данных и необязательно (это зависит от конкретного кода команды) за ними один или два байта смещения (disp); Формат второго байта команды: 7 6 5 3 2 0
mod reg r/m
Поле reg указывает адрес регистра (см. табл. 2.3). В командах непосредственной загрузки сегментных регистров в поле reg записывается трехразрядный код 0rr, где два разряда rr определяются из табл. 2.2. Поле mod определяет используемый способ адресации. Следует помнить, что при выполнении команд один операнд всегда хранится в одном из регистров, а другой выбирается из памяти либо из регистра. Когда в поле mod содержится код 11, то операнд выбирается из регистра, адрес которого определяется из табл. 2.3. Если mod ¹ 11, то это поле определяет, каким образом используется смещение disp (табл. 2.4).
Поле r/m определяет, как формируется смещение ЕА (табл. 2.4). Таблица 2.4
Примечание: для случая r/m=110 и mod=00 используется прямая адресация, для которой ЕА определяется смещением disp.
Для одной и той же команды время вычисления исполнительного адреса зависит от способа формирования смещения ЕА, и, следовательно, время выполнения команды будет различным. В табл. П2.1 время выполнения команд выражается числом тактов, необходимых для выполнения команды без учета времени вычисления исполнительного адреса, плюс переменная ЕА, обозначающая число тактов, необходимых для вычисления исполнительного адреса. Количество тактов, требуемое для вычисления ЕА, указано в табл. 2.5. При замене сегментного регистра, который обычно указан по умолчанию, число тактов следует увеличить на два. Таблица 2.5
Читайте также: II -приравненное к нотариальному (глав.врач больницы, командиры воинских частей) Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|