Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
SMSW
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
|
|
0F 01 /4 |
SMSW r/m16 |
Сохранить MSW в r/m16 |
Intel286 |
smsw ax |
0F 01 /4 |
SMSW r32/m16 |
Сохранить MSW в r32/m16 |
Intel386 |
smsw [edx] |
Описание:
Команда SMSW сохраняет слово состояния машины (часть регистра CR0) в регистре или слове памяти.
При 32-битном размере операнда команда SMSW помещает 16-битное значение слова состояния во младшие 16 бит регистра-назначения. При этом старшие 16 бит этого регистра неопределены. Если операнд-назначение команды — ячейка памяти, то селектор всегда записывается в память как 16-битная величина, независимо от атрибута размера операнда.
Слово состояния машины и команды SMSW, LMSW поддерживаются для совместимости с программами процессора Intel286. Программы для 32-битных процессоров должны использовать более универсальную команду MOV CR0 для программирования режимов работы.
Операция:
r/m = MSW;
Особые ситуации защищенного режима:
#GP(0), если операнд-назначение находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru