Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 6 стр.

UptoLike

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

6
разрядными.
Для сохранения совместимости с ранними моделями процессоров
допускается обращение к младшим половинам всех регистров, которые
имеют те же мнемонические обозначения, что и в микропроцессоре
8086/88 (АХ, ВХ, СХ, DX, SI, DI, ВР и SP). Естественно, сохранена
возможность работы с младшими (AL, BL, CL и DL) и старшими (АН, ВН,
СН и DH) половинками регистров МП 8086/88. Однако старшие половины
32-разрядных регистров процессора не имеют мнемонических обозначений
и непосредственно недоступны. Для того, чтобы прочитать, например, со-
держимое старшей половины регистра ЕАХ (биты 31...16) придется
сдвинуть все содержимое ЕАХ на 16 разрядов вправо (в регистр АХ) и
прочитать затем содержимое регистра АХ.
Рисунок 1.1 – Регистры общего назначения
Все регистры общего назначения и указатели программист может
использовать по своему усмотрению для временного хранения адресов и
данных размером от байта до двойного слова. Так, например, возможно
использование следующих команд:
mov EAX,0FFFFFFFFh ; Работа с двойным словом (32 бита)
mov BX,0FFFFFFFFh ; Работа со словом (16 бит)
разрядными.
      Для сохранения совместимости с ранними моделями процессоров
допускается обращение к младшим половинам всех регистров, которые
имеют те же мнемонические обозначения, что и в микропроцессоре
8086/88 (АХ, ВХ, СХ, DX, SI, DI, ВР и SP). Естественно, сохранена
возможность работы с младшими (AL, BL, CL и DL) и старшими (АН, ВН,
СН и DH) половинками регистров МП 8086/88. Однако старшие половины
32-разрядных регистров процессора не имеют мнемонических обозначений
и непосредственно недоступны. Для того, чтобы прочитать, например, со-
держимое старшей половины регистра ЕАХ (биты 31...16) придется
сдвинуть все содержимое ЕАХ на 16 разрядов вправо (в регистр АХ) и
прочитать затем содержимое регистра АХ.




                 Рисунок 1.1 – Регистры общего назначения

     Все регистры общего назначения и указатели программист может
использовать по своему усмотрению для временного хранения адресов и
данных размером от байта до двойного слова. Так, например, возможно
использование следующих команд:
     mov   EAX,0FFFFFFFFh ; Работа с двойным словом (32 бита)
     mov   BX,0FFFFFFFFh   ; Работа со словом (16 бит)



                                     6