L
LEA Загрузка исполнительного адреса
Команда lea загружает в регистр, указанный в команде в качестве первого операнда, относительный адрес второго операнда (не значение операнда!). В качестве первого операнда следует указывать регистр общего назначения (не сегментный), в качестве второго – ячейку памяти. Команда:
lea reg,mem
Эквивалентна команде:
mov reg,offset mem
Но у первой команды больше возможностей описания адреса интересующей нас ячейки. Команда не воздействует на флаги процессора.
Пример 1:
; В полях данных: message db; 'Идут измерения' ;В программном сегменте: lea SI,message; DS:SI › message
Пример 2:
; В полях данных: nmb db '0123456789' ;В программном сегменте: mov SI,7; Смещение символа '7' lea DX,nmb[SI]; ВХ=адрес символа '7'
Пример 3:
; В полях данных: nmb db '0123456789' ;В программном сегменте: mov BX, off set msg mov SI, 9; Смещение символа '9' lea SI, [BX] [SI]; 31=адрес символа '9'
Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.
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 указывается регистр общего назначения; в качестве второго – ячейка памяти с двухсловным содержимым. Указатель, содержащийся в этой ячейке, может быть адресом как процедуры, так и поля данных. Команда не воздействует на флаги процессора.