Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
LMSW
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
|
|
0F 01 /6 |
LMSW r/m16 |
Загрузить r/m16 в слово состояния машины в регистре CR0 |
Intel286 |
lmsw cx |
Описание:
Команда LMSW загружает слово состояния машины (часть регистра CR0) из операнда-источника. Она воздействует только на младшие четыре бита 16-битного слова состояния (биты PE, MP, EM и TS) и не может быть использована для очистки бита PE.
Команда LMSW может применяться для переключения в защищенный режим (но не обратно), в этом случае за ней должен следовать межсегментный переход, чтобы очистить очередь команд. Обычно она используется только в системном программном обеспечении, а не в прикладных программах.
Слово состояния машины (MSW) поддерживается для совместимости с процессором Intel286. В программах для процессоров Intel386, Intel486, … вместо команды LMSW обычно используется команда MOV CR0,... , она обладает более широкими возможностями по влиянию на флаги в регистре CR0 и позволяет производить переключение режимов работы в любом направлении.
Атрибут размера операнда не воздействует на команду LMSW.
Операция:
CR0[0:3] = SRC[0:3]; (* Данные из операнда-источника помещаются в слово состояния машины MSW = CR0[0:15] *)
Особые ситуации защищенного режима:
#GP(0), если текущий уровень привилегий не равен 0, также если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru