Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
STR
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
|
|
OF 00 /1 |
STR r/m16 |
Сохранить TR в r/m16 |
Intel286 |
str bx |
OF 00 /1 |
STR r/m32 |
Сохранить TR в r/m32 |
Intel386 |
str [ebp] |
Описание:
Команда STR сохраняет содержимое регистра задачи TR в регистре общего назначения или ячейке памяти. Регистр задачи содержит селектор, и в своей скрытой части соответствующий дескриптор сегмента состояния задачи TSS для текущей задачи.
При 32-битном размере операнда команда STR помещает 16-битное значение из регистра TR во младшие 16 бит регистра-назначения. При этом старшие 16 бит регистра-назначения заполняются нулями. Если операнд-назначение команды — ячейка памяти, то значение из регистра TR всегда записывается в память как 16-битная величина, независимо от атрибута размера операнда.
Команда STR доступна только на нулевом уровне привилегий в защищенном режиме, она используется только в системном программном обеспечении и не используется в прикладных программах.
Операция:
r/m = TR; (* Регистр задачи *)
Особые ситуации защищенного режима:
#GP(0), если операнд-назначение находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#UD при попытке исполнения команды.
Особые ситуации режима V86:
#UD при попытке исполнения команды.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru