386+ LEAVE Выход из процедуры высокого уровня
Команда leave выполняет действия, противоположные действиям последней команды enter. Она логически уничтожает созданный командой enter стековый кадр со всеми содержащимися в нем локальными переменными и подготавливает стек к выполнению команды irct, завершающей переход в вызывающую процедуру. Команда leave не имеет параметров. Более подробное описание и пример см. в описании команды enter.
LES Загрузка указателя с использованием регистра ES
Команда les считывает из памяти по указанному адресу двойное слово (32 бит),
содержащее указатель (полный адрес некоторой ячейки), и загружает младшую половину
указателя (т.е. относительный адрес) в указанный в команде регистр, а старшую
половину указателя (т.е. сегментный адрес) в регистр ES. Таким образом, команда
les reg,mem
эквивалентна следующей группе команд:
mov reg,word ptr mem
mov ES,word ptr mem+2
В качестве первого операнда команды les указывается регистр общего назначения; в качестве второго - ячейка памяти с двухсловным содержимым. Указатель, содержащийся в этой ячейке, может быть адресом как процедуры, так и поля данных. Команда не воздействует на флаги процессора.
Пример 1
;В полях данных:
Пример 2
;В полях данных:
Пример 3
;В полях данных:
Допустимо использование 32-разрядного регистра-приемника и 32-битового смещения в памяти, а также дополнительных режимов адресации 32-разрядных процессоров. В защищенном режиме вместо сегментного адреса сегмента выступает его селектор.
LGS Загрузка указателя с использованием регистра FS
LSS Загрузка указателя с использованием регистра FS
Команды считывают из памяти полный указатель, состоящий из селектора и 16-битового
или 32-битового смещения, и загружают младшую половину указателя (т.е. относительный
адрес) в указанный в команде регистр общего назначения, а старшую половину указателя
(т.е. селектор) в сегментный регистр, указанный в мнемонике команды.
В качестве первого операнда всех перечисленных команд указывается 16- или 32-разрядный
регистр общего назначения; в качестве второго - ячейка памяти с 32- или 48-битовым
содержимым. Команда не воздействует на флаги процессора.
Примеры см. в описании команд Ids и les.