ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 9

.
                                     -172 -
           
           
                  8.2  КОДИРОВАНИЕ КОМАНД
                     8.2.1  Общий обзор
     Коды  всех команд образуют подмножество общего формата коман
д, 
показанного на рис.8-1. Команды состоят из 1 или  2-х  байтов  ко
да 
операции,  возможно описателя адреса, состоящего из байта "mod r/
m" 
и байта "масштабного индекса ", смещения, если  требуется  и,  ес
ли 
требуется, поля непосредственного операнда. 
     Внутри  кода  или кодов операций можно определить более мелк
ие
поля кодировки.  Эти  поля  варьируются  в  зависимости  от  клас
са
операций.  Эти  поля  определяют  такую информацию, как направлен
ие
передачи  операнда,  размер  смещения,  код  номера  регистра   и
ли
распространение знака.
     Почти  все  команды,  относящиеся  к  операнду, находящемуся
 в
памяти, имеют байт режима адресации, следующий  непосредственно  
за
первыми  байтами  кода  операции.  Этот  байт, байт поля "mod r/m
",
указывает на  режим  адресации,  который  может  быть  использова
н.
Основная  кодировка  байта  "mod  r/m",  чтобы полностью определи
ть
режим адресации.
     Режимы адресации могут указывать на непосредственное смещени
е,
которое  следует  за  байтом  "mod  r/m",  или  на  байт индексно
го
смещения.  Если  смещение  присутствует,  то  его  возможная  дли
на
составит 8, 16 или 32 разряда. 
     Если  в  команде  указан  непосредственный  операнд,  то  эт
от
непосредственный  операнд  следует  за   любым   байтом   смещени
я.
Непосредственный  операнд, если он задан, всегда является последн
им
в поле команды.
     Рис.8-1  показывает несколько полей, которые могут появиться
 в
команде,  такие  как поле "mod" и поле "r/m", но не показывает вс
ех
полей  команды.  В  команде  общего  формата  могут  присутствова
ть
несколько   меньших  полей,  тогда  с  собственными  байтами  код
ов
операции. Таблица 8-2 является полным списком всех  полей,  котор
ые
могут  быть  использованы  в командах 80386. За табл.8-2  приведе
ны
детальные таблицы кодировки каждого из полей команды.
     
  -------------------------------------------
 |TTTTTTTT|TTTTTTTT|mod TTT r/m|ss index base|  ====>
  -------------------------------------------
  7      0 7      0 7 6 5 3 2 0  7 6 5 3  2 0
  --------v-------- -----v-----  ------v----- 
  код операции      "mod  r/m"      "s-i-b"   
  (один или два        байт          байт     
  байта)            ------------v------------ 
  (T битовое предс-   регисторный и адресный  
  тавление кода          вид спецификатора    
    операции
    
    ====>      d32|16|8|none data32|16|8|none 
          
                                              
               ------v------ -------v-------- 
                отображение      прямые       
                  адреса         данные       
                (4,2,1  байт   (4,2,1 байт    
                 или отсутс-  или отсутс-     
                   твует)        твует)       
     
             Рис.8-1. Основной формат команд
.
                                     -173 -
           
           
        Таблица 8-2. Внутренние поля команд 80386
          
-----------------------------------------------------------------
--
 Имя поля  |           Детектор (описатель)       | Число разрядо
-----------------------------------------------------------------
--
    w      |  Вид числа: байт или полный формат   |       1
           | (16 или 32 разряда)                  |
    d      |  Направление изменения адреса        |       1
           | числа                                |
    s      |  Вид представления   знака в непос-  |       1
           | редственном операнде                 |
   reg     |  Код регистра                        |       3
           |                                      |
  mod r/m  |  Вид режима адресации (исполнитель-  |  2 для "mod"
           | ным адресом может быть содержание    |  3 для "r/m"
           | регистра общего назначения           |
    ss     |  Размер смещения для режима индекс-  |       2
           | ной адресации со смещением           |
  index    |  Код регистра, используемого         |       3
           | как индексный регистр                |
   base    |  Код регистра, используемого         |       3
           | как базовый регистр                  |
   sreg    |  Код сегментного регистра CS, SS,    |       2
           | DS, ES                               |
   sreg    |  Код сегментного регистра CS, SS,    |       3
           | DS, ES, FS, GS                       |
   tttn    |  Для условных команд, вид условия    |       4
           | совпадения или условия различия      |
-----------------------------------------------------------------
--
     
     
            8.2.2  Расширения стека команд на 32 разряда
     
     В  80386   список   команд   86/186/286   расширяется   в   
двух 
ортогональных  направлениях:  добавляются  32-х  разрядные формы 
всех 
16-х  разрядных  команд  для  того,  чтобы  отличить  работу  с  
32-х 
разрядными  типами  данных и 32-х разрядные виды адресации станов
ятся 
возможными для всех инструкций обращения к памяти. Это  ортогонал
ьное 
расширение  стека  команд  достигается с помощью (D) бита в описа
теле 
кода сегмента и путем наличия двух префиксов в списке команд. 
     Команда   оперирует  с  16  или  32-х  разрядными  операндам
и, 
зависящими от установки D бита в описателе кода сегмента, который
 и 
дает  длину операнда для обоих операндов и эффективность адресаци
и, 
когда исполняется этот код сегмента. При использовании  прямой  и
ли 
виртуальной  адресации  8086  никаких кодов описателей сегментов 
не 
используется, но значение D или  O  рассматривается  внутри  8038
6, 
когда  операции выполняются именно в этих видах адресации (для 16
-и 
разрядных слов сравнимых с 86/186/286). 
     Два   префикса   (префикс  длинны  операнда  и  префикс  дли
ны 
эффективного  адреса)  позволят  не  принимать  во  внимание  дли
ны 
операнда  и  эффективного адреса. Эти префиксы могут предшествова
ть 
любому байту кода  операции  и  действуют  только  на  ту  команд
у, 
которой  они  предшествуют.  Если  необходимо,  перед  байтами ко
да 
операции  могут  быть  установлены  1 или 2 этих префикса.  Налич
ие 
префиксов   длины  операнда  и  длины  эффективного  адреса  долж
но 
заменить длину операнда или эффективного адреса на  противоположн
ую 
тому,  которая  указана установкой D-бита. Например, если установ
ка 
D-битом длины операнда соответствует 32-х разрядному  операнду,  
то 
наличие префикса длины операнда заставит инструкцию выполняться к
ак 
16-и разрядная. В другом примере, если  D-бит  эффективного  адре
са 
16-и  
                                     -174 -
           
           
разрядный, то наличие префикса длины эффективного адреса заставля
ет 
инструкцию использовать 32-х битный эффективный адрес. 
     Эти  32-х  разрядные расширения допустимы во всех видах 8038
6, 
включая вид прямых адресов и виртуальных для  8086.  В  этих  вид
ах 
D-бит  указывает  на  16-и разрядные формы, поэтому префиксы нужн
ы, 
чтобы определить 32-х разрядные операнды или адреса. 
     Независимо от предшествующих описаний, инструкции с 8- и  16
-и 
разрядными  операндами  не  влияют  на  содержимое старших разряд
ов 
расширенных регистров. 
     
     
                 8.2.3  Кодирование полей команд
     Внутри   команды   имеются  несколько  полей  указывающих  в
ид
адресации, выбор регистра  и  т.д.  Такое  кодирование  этих  пол
ей
приведено ниже.
     
     
           8.2.3.1  Кодирование длины операнда (W) полем
     Для любой данной  команды,  выполняются  операции  с  данным
и, 
команда выполняется как операция 32-х разрядная или 16-и разрядна
я. 
Внутри  ограничений  размера  операции,  поле  W  кодирует   разм
ер 
операнда  как  или  1 байт или как полный размер операции в табли
це 
приведенной ниже. 
     
-----------------------------------------------------------------
--
  W поле       |  Размер операнда при     |  Размер операнда при
               |  16-и разрядных операциях|  32-х разрядных 
               |  с данными               |  операциях с данными
-----------------------------------------------------------------
--
      0        |        8 бит             |         8 бит
      1        |       16 бит             |        16 бит
-----------------------------------------------------------------
--
     
      8.2.3.2  Кодирование reg поля регистров общего назначения
                               (основных)
     
     Главный регистр определяется с помощью reg поля, которое мож
ет
появится  в первых (основных) байтах кода операции или как поле r
/m
в байте "mod r/m".
     
       Кодирование поля reg, когда поле W в команде отсутствует
-----------------------------------------------------------------
--
   reg поле    |  Выбранный регистр        |  Выбранный регистр
               |  при выполнении           |  при выполнении
               |  16-и разрядных операций  |  32-х разрядных опер
аций
               |  с данными                |  с данными
-----------------------------------------------------------------
--
    000        |            Ax             |        EAX
    001        |            CX             |        ECX
    010        |            DX             |        EDX
    011        |            BX             |        EBX
    100        |            SP             |        ESP
    101        |            BP             |        EBP
    101        |            SI             |        ESI
    101        |            DI             |        EDI
-----------------------------------------------------------------
--     
.
                                     -175 -
           
           
              Кодирование reg поля, при наличие W поля
-----------------------------------------------------------------
--
           Регистр определяемый reg полем во время
           выполнения операций с 16-разрядными данными
-----------------------------------------------------------------
--
   reg    |                Функция W поля
          |------------------------------------------------------
--
          |         (если W=0)         |        (если W=1)
-----------------------------------------------------------------
--
   000    |             AL             |            AX
   001    |             CL             |            CX
   010    |             DL             |            DX
   011    |             BL             |            BX
   100    |             AH             |            SP
   101    |             CH             |            BP
   110    |             DH             |            SI
   111    |             BH             |            DI
-----------------------------------------------------------------
--     
-----------------------------------------------------------------
--
           Регистр определяемый reg полем во время
           выполнения операций с 32-х разрядными данными
-----------------------------------------------------------------
--
   reg    |                Функции W поля
          |------------------------------------------------------
--
          |          (если W=0)        |        (если W=1)
-----------------------------------------------------------------
--
   000    |             AL             |           EAX
   001    |             CL             |           ECX
   010    |             DL             |           EDX
   011    |             BL             |           EBX
   100    |             AH             |           ESP
   101    |             CH             |           EBP
   110    |             DH             |           ESI
   111    |             BH             |           EDI
-----------------------------------------------------------------
--
.
                                     -176 -
           
           
     
       8.2.3.3  Кодирование сегментного регистра полем (sreg)
     
     Sreg-поле    в    основных   командах-это   2-разрядное  пол
е,
позволяющее указывать один из четырех сигментных  регистров  8028
6.
Sreg-поле  в  других  командах-это  3-разрядное  поле,  позволяющ
ее
указывать сигменты FS и GS для 80386.
     
                   2-разрядное sreg поле
-----------------------------------------------------------------
--
    2-разрядное sreg поле        |  Выбранный сигментный регистр
-----------------------------------------------------------------
--
              00                 |              ES
              01                 |              CS
              10                 |              SS
              11                 |              DS
-----------------------------------------------------------------
--
                   3-разрядное sreg поле
-----------------------------------------------------------------
--
    3-разрядное sreg поле        |  Выбранный сигментный регистр
-----------------------------------------------------------------
--
              000                |              ES
              001                |              CS
              010                |              SS
              011                |              DS
              100                |              FS
              101                |              GS
              110                |         не используется
              111                |         не используется
-----------------------------------------------------------------
--
     
                8.2.3.4  Кодирование видов адресации
     За исключением специальных команд таких как PUSH или POP,  г
де 
вид  операции  преопределен,  вид  адресации всех текщих инструкц
ии 
определяется байтами адресации, которые следуют за остальным  код
ом 
операции.  Первый  байт  адресации-байт "mod r/m", а следующий ба
йт 
адресации  информации,  "s-i-b"  (циклы  индикации)   байт,   мож
ет 
присутствовать. 
     S-i-b  байт-это  (байт  базы-шкалы-индексов)  специальный ба
йт 
определяющий, когда используется 32-х разрядный  вид  адресации, 
 и 
когда байт "mod r/m" имеет r/m=100 и mod=00,01\/10. Если S-i-b ба
йт 
присутствует, то 32-х разрядный  вид  адресации  является  функци
ей 
mod, SS, "индекс" и полей "базы". 
     Первый  байт  адресации,  "mod  r/m" байт также состоит из 3
-х
битов (показан, как  ТТТ  на  рис.8-1)   иногда   используется  к
ак
расширение  первого,  основного кода операции. Однако, эти три би
та
могут быть использованы как поле регистора.
     Когда  вычисляется  эффективный  адрес  используется  или 16
-и 
разрядная или 32-х разрядная адресация.  16-и  разрядная  адресац
ия 
использует 16-и разрядные компоненты для вычисления 16-и разрядно
го 
адреса, в то время как при 32-х  разрядной  адресации  использует
ся 
32-х  разрядные  компоненты  адреса  для вычисления 32-х разрядно
го 
адреса. Когда используется  16-и  разрядная  адресация,  байт  "m
od 
r/m",  интерпретируется  как спецификатор 16-и разрядной адресаци
и. 
Когда используется 32-х разрядная  адресация,  то  байт  "mod  r/
m" 
интерпретируется как спецификатор 32-х разрядной адресации. 
     Таблицы, которые следуют далее определяют все  кодировки  вс
ех
                                     -177 -
           
           
16- и 32-х разрядных видов адресации.
     
     
      Кодирование 16-и разрядного вида адресации байтом "mod r/m"
     
-----------------------------------------------------------------
--
       mod r/m          |           Эффективные адреса
-----------------------------------------------------------------
--
        00 000          |          DS:[BX+SI]
        00 001          |          DS:[BX+DI]
        00 010          |          SS:[BP+SI]
        00 011          |          SS:[BP+DI]
        00 100          |          DS:[SI]
        00 101          |          DS:[DI]
        00 110          |          DS:d16
        00 111          |          DS:[BX]
                        |
        01 000          |          DS:[BX+SI+d8]
        01 001          |          DS:[BX+DI+d8]
        01 010          |          SS:[BP+SI+d8]
        01 011          |          SS:[BP+DI+d8]
        01 100          |          DS:[SI+d8]
        01 101          |          DS:[DI+d8]
        01 110          |          DS:[BX+d8]
        01 111          |          SS:[BP+d8]
                        |
        10 000          |          DS:[BX+SI+d16]
        10 001          |          DS:[BX+DI+d16]
        10 010          |          SS:[BP+SI+d16]
        10 011          |          SS:[BP+DI+d16]
        10 100          |          DS:[SI+d16]
        10 101          |          DS:[DI+d16]
        10 110          |          DS:[BX+d16]
        10 111          |          SS:[BP+d16]
                        |
        11 000          |          регистр-смотри ниже
        11 001          |                 "-"
        11 010          |                 "-"
        11 011          |                 "-"
        11 100          |                 "-"
        11 101          |                 "-"
        11 110          |                 "-"
        11 111          |                 "-"
-----------------------------------------------------------------
--     
.
                                     -178 -
           
           
-----------------------------------------------------------------
--
              Регистор, который определяется r/m
            с 16-и разрядными операциями над данными
-----------------------------------------------------------------
--
     mod r/m     |             Функция W поля
                 |-----------------------------------------------
--
                 |     (если W=0)        |    (если W=1)
-----------------------------------------------------------------
--
     11 000      |          AL           |           AX
     11 001      |          CL           |           CX
     11 010      |          DL           |           DX
     11 011      |          BL           |           BX
     11 100      |          AH           |           SP
     11 101      |          CH           |           BP
     11 110      |          DH           |           SI
     11 111      |          BH           |           DI
-----------------------------------------------------------------
--
     
-----------------------------------------------------------------
--
              Регистр, который определяется r/m
            с 32-х разрядными операциями над данными
-----------------------------------------------------------------
--
     mod r/m     |             Функция W поля
                 |-----------------------------------------------
--
                 |     (если W=0)        |    (если W=1)
-----------------------------------------------------------------
--
     11 000      |          AL           |          EAX
     11 001      |          CL           |          ECX
     11 010      |          DL           |          EDX
     11 011      |          BL           |          EBX
     11 100      |          AH           |          ESP
     11 101      |          CH           |          EBP
     11 110      |          DH           |          ESI
     11 111      |          BH           |          EDI
-----------------------------------------------------------------
--
     
        Кодирование 32-х разрядных видов адресов "mod r/m"
                 байтом (при отсутствии S-i-b)
     
-----------------------------------------------------------------
--
       mod r/m          |           Эффективные адреса
-----------------------------------------------------------------
--
          10 000                  DS:[EBX+ESI+d32]
          10 001                  DS:[EBX+EDI+d32]
          10 010                  SS:[EBP+ESI+d32]
          10 011                  SS:[EBP+EDI+d32]
          10 100                  s-i-b присутствует
          10 101                  DS:[EDI+d32]
          10 110                  DS:[EBX+d32]
          10 111                  SS:[EBP+d32]
     
          11 000                  регистр-смотри ниже
          11 001                          "-"
          11 010                          "-"
          11 011                          "-"
          11 100                          "-"
          11 101                          "-"
          11 110                          "-"
          11 111                          "-"
                                     -179 -
           
           
     
          00 000                  DS:[EBX+ESI]
          00 001                  DS:[EBX+EDI]
          00 010                  SS:[EBP+ESI]
          00 011                  SS:[EBP+EDI]
          00 100                  s-i-b присутствует
          00 101                  DS:[EDI]
          00 110                  DS:d32
          00 111                  DS:[EBX]
     
          01 000                  DS:[EBX+ESI+d8]
          01 001                  DS:[EBX+EDI+d8]
          01 010                  SS:[EBP+ESI+d8]
          01 011                  SS:[EBP+EDI+d8]
          01 100                  s-i-b присутствует
          01 101                  DS:[EDI+d8]
          01 110                  DS:[EBX+d8]
          01 111                  SS:[EBP+d8]
-----------------------------------------------------------------
--     
-----------------------------------------------------------------
--
              Регистр, который определяется r/m
            с 16-и разрядными операциями над данными
-----------------------------------------------------------------
--
     mod r/m     |             Функция W поля
                 |-----------------------------------------------
--
                 |     (если W=0)        |    (если W=1)
-----------------------------------------------------------------
--
     11 000      |          AL           |           AX
     11 001      |          CL           |           CX
     11 010      |          DL           |           DX
     11 011      |          BL           |           BX
     11 100      |          AH           |           SP
     11 101      |          CH           |           BP
     11 110      |          DH           |           SI
     11 111      |          BH           |           DI
-----------------------------------------------------------------
--
                
-----------------------------------------------------------------
--
              Регистр, который определяется r/m
            с 32-х разрядными операциями над данными
-----------------------------------------------------------------
--
     mod r/m     |             Функция W поля
                 |-----------------------------------------------
--
                 |     (если W=0)        |    (если W=1)
-----------------------------------------------------------------
--
     11 000      |          AL           |          EAX
     11 001      |          CL           |          ECX
     11 010      |          DL           |          EDX
     11 011      |          BL           |          EBX
     11 100      |          AH           |          ESP
     11 101      |          CH           |          EBP
     11 110      |          DH           |          ESI
     11 111      |          BH           |          EDI
-----------------------------------------------------------------
--
.
                                     -180 -
           
           
           Кодирование 32-х разрядных видов адресов
                (при mod r/m и s-i-b байтах)
     
-----------------------------------------------------------------
--
       База         |           Эффективные адреса
-----------------------------------------------------------------
--
     00 000         |      DS:[EAX+(масштабный индекс)]
     00 001         |      DS:[ECX+("-")]
     00 010         |      DS:[EDX+("-")]
     00 011         |      DS:[EBX+("-")]
     00 100         |      SS:[EAX+("-")]
     00 101         |      DS:[d32+("-")]
     00 110         |      DS:[ESI+("-")]
     00 111         |      DS:[EDI+("-")]
                    |
     01 000         |      DS:[EAX+(масштабный индекс)+d8]    
     01 001         |      DS:[ECX+("-")+d8]
     01 010         |      DS:[EDX+("-")+d8]
     01 011         |      DS:[EBX+("-")+d8]
     01 100         |      SS:[ESP+("-")+d8]
     01 101         |      SS:[EBP+("-")+d8]
     01 110         |      DS:[ESI+("-")+d8]
     01 111         |      DS:[EDI+("-")+d8]
                    |
     10 000         |      DS:[EAX+(масштабный индекс)+d32]
     10 001         |      DS:[ECX+("-")+d32]
     10 010         |      DS:[EDX+("-")+d32]
     10 011         |      DS:[EBX+("-")+d32]
     10 100         |      SS:[EAX+("-")+d32]
     10 101         |      SS:[EBP+("-")+d32]
     10 110         |      DS:[ESI+("-")+d32]
     10 111         |      DS:[EDI+("-")+d32]
-----------------------------------------------------------------
--
-----------------------------------------------------------------
--
             ss                |          Масштаб
-----------------------------------------------------------------
--
             00                |             x1
             01                |             x2
             10                |             x4
             11                |             x8
-----------------------------------------------------------------
--
-----------------------------------------------------------------
--
           Индекс              |       Индексный регистр
-----------------------------------------------------------------
--
            000                |             EAX
            001                |             ECX
            010                |             EDX
            011                |             EBX
            100                |             нет
            101                |             EBP
            110                |             ESI
            111                |             EDI
-----------------------------------------------------------------
--
.
                                     -181 -
           
           
     
        8.2.3.5  Кодирование направления операции (d) полем
     
     В  большинстве  двухоперационных  операций d поле присутству
ет
для указания того, чтобы  операнд  рассматривался  ка  источник, 
 а
также как приемник результата.
     
-----------------------------------------------------------------
--
      d      |             Направление операции
-----------------------------------------------------------------
--
      0      | Регистр/Память <-- Регистр
             | "reg" поле указывает, что операнд-источник;
             | "mod r/m" или "mod ss index base" указывают операн
д,
             | куда загружается результат
-------------|---------------------------------------------------
--
      1      | Регистр <-- Регистр/Память
             | "reg" поле указывает операнд результата;
             | "mod r/m" или "mod ss index base" указывает операн
д,
             | куда загружается результат
-----------------------------------------------------------------
--
     
       8.2.3.6  Кодирование одинарного и расширенного (s) поля
     
     S    поле   сначала   встречается   в   операциях   с   поля
ми
непосредственных  данных.  S  поле  действует  только  если  разм
ер
непосредственных  данных-8  разрядов  и  они  размещаются в 16- и
ли
32-х разрядных полях назначения.
-----------------------------------------------------------------
--
   s   |  Действие в режиме 8-и разряд-| Действие в режиме 16/32-
       |  ного формата данных          | разрядного формата данны
-----------------------------------------------------------------
--
   0   |              нет              |            нет
       |                               |
   1   |  Расширенный формат 8 разрядов|            нет
       |  для заполнения 16-или 32-х   |
       |  разрядных полей назначения   |
-----------------------------------------------------------------
--
.
                                     -182 -
           
           
     
         8.2.3.7  Кодирование поля (tttn) условного теста
     
     Для команд условных (условных переходов и установки состояни
я)
tttn  кодируется  как  n-указывающее  на  использование   состоян
ия
(n=0) или его отрицание (n=1),  и  ttt  дающее  состояния,  котор
ые
нужно проверить.
     
-----------------------------------------------------------------
--
  Мнемоника |           Состояние                   |    tttn
-----------------------------------------------------------------
--
   O        |  Переполнение                         |    0000
   NO       |  Нет переполнения                     |    0001
   B/NAE    |  Ниже/Не выше или равно               |    0010
   NB/AE    |  Не ниже/выше или равно               |    0011
   E/Z      |  Равно/нуль                           |    0100
   NE/NZ    |  Не равно/Не нуль                     |    0101
   BE/NA    |  Ниже или равно/Не выше               |    0110
   NBE/A    |  Не ниже или равно/выше               |    0111
   S        |  Знак ("1")                           |    1000
   NS       |  Не знак ("0")                        |    1001
   P/PE     |  Паритет/Паритет четности             |    1010
   NP/PO    |  Не паритет/Паритет нечетности        |    1011
   L/NGE    |  Меньше чем/Не больше или равно       |    1100
   NL/GE    |  Не меньше чем/Больше или равно       |    1101
   LE/NG    |  Меньше чем или равно/Больше чем      |    1110
   NLE/G    |  Не меньше или равно/Больше чем       |    1111
-----------------------------------------------------------------
--   
       8.2.3.8  Кодирование управляющего или отладочного, или
                      тестового регистра (eee) полем
     
     Для  загрузки и описания управляющего, отладочного и тестово
го
регистров.
     
            Когда рассматривается управляющий регистр
-----------------------------------------------------------------
--
           eee Код              |          Имя регистра
-----------------------------------------------------------------
--
            000                 |               CR0
            010                 |               CR2
            011                 |               CR3
-----------------------------------------------------------------
--
               Любой другой код не используется
-----------------------------------------------------------------
--
     
            Когда рассматривается отладочный регистр
-----------------------------------------------------------------
--
           eee Код              |          Имя регистра
-----------------------------------------------------------------
--
            000                 |               DR0
            001                 |               DR1
            010                 |               DR2
            011                 |               DR3
            110                 |               DR6
            111                 |               DR7
-----------------------------------------------------------------
--
               Любой другой код не используется
-----------------------------------------------------------------
--     
                                     -183 -
           
           
            Когда рассматривается тестовый регистр
-----------------------------------------------------------------
--
           eee Код              |          Имя регистра
-----------------------------------------------------------------
--
            110                 |               TR6
            111                 |               TR7
-----------------------------------------------------------------
--
               Любой другой код не используется
-----------------------------------------------------------------
--