-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||0F 03 /r LSL r16,r/m16 10/10 Загрузка: r16 <- граница сег-|| мента, селектор r/m16 (гра- || нулирование в байтах) ||0F 03 /r LSL r32,r/m32 10/10 Загрузка: r32 <- граница сег-|| мента, селектор r/m32 (гра- || нулирование в байтах) ||0F 03 /r LSL r16,r/m16 10/10 Загрузка: r16 <- граница сег-|| мента, селектор r/m16 (гра- || нулирование в страницах) ||0F 03 /r LSL r32,r/m32 10/10 Загрузка: r32 <- граница сег-|| мента, селектор r/m32 (гра- || нулирование в страницах) |----------------------------------------------------------------- ОписаниеКоманда LSL загружает регистр незашифрованной границей сегмента иустанавливает флаг ZF, при условии, что селектор источника видим натекущем уровне привилегированности и на уровне RPL дескрипторной таблицы,а дескриптор имеет тип, приемлемый для команды LSL. В противном случаефлаг ZF очищается, а регистр назначения остается без изменений. Границасегмента загружается значением, гранулированным в байтах. Если дескрипторимеет границу сегмента, гранулированную в страницах, команда LSLтранслирует его в байты, прежде чем загрузить в регистр назначения (сдвигвлево на 12 20-разрядной "сырой" границы из дескриптора, а затем OR созначением 00000FFFH).32-разрядные формы команды LSL записывают в 16-разрядный регистрназначения 32-разрядную границу, гранулированную в байтах.Дескрипторы сегментов кода и данных допустимы для команды LSL.Допустимые типы дескрипторов специальных сегментов и шлюзов для командыLSL приводятся в следующей таблице: ----------------------------------------------------------------- Тип Имя Допустимо/недопустимо----------------------------------------------------------------- 0 Недопустимо Недопустимо 1 Доступный TSS 80286 Допустимо 2 LDT Допустимо 3 Занятый TSS 80286 Допустимо 4 Шлюз вызова 80286 Недопустимо 5 Шлюз задачи 80286/i486 Недопустимо 6 Шлюз ловушки 80286 Недопустимо 7 Шлюз прерывания 80286 Недопустимо 8 Недопустимо Допустимо 9 Доступный TSS i486 Допустимо A Недопустимо Недопустимо B Занятый TSS i486 Допустимо C Шлюз вызова i486 Недопустимо D Недопустимо Недопустимо E Шлюз ловушки i486 Недопустимо F шлюз прерывания i486 Недопустимо----------------------------------------------------------------- Изменяемые флагиФлаг ZF установлен, если только селектор не является невидимым илинедопустимого типа, когда флаг ZF очищается. Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 6; команда LSL в режиме реальных адресов не распознается. Исключения виртуального режима 8086Те же исключения, что и в режиме реальных адресов. #AC для невыравненнойссылки к памяти при текущем уровне привилегированности, равном 3.