-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||8D /r LEA r16,m 1 Записать исполнительный адрес|| для m в регистр r16 ||8D /r LEA r32,m 1 Записать исполнительный адрес|| для m в регистр r32 ||8D /r LEA r16,m 1 Записать исполнительный адрес|| для m в регистр r16 ||8D /r LEA r32,m 1 Записать исполнительный адрес|| для m в регистр r32 |----------------------------------------------------------------- Работа команды IF OperandSize = 16 AND AddressSize = 16THEN r16 <- Addr(m);ELSE IF OperandSize = 16 AND AddressSize = 32 THEN r16 <- Усечение_до_16_битов(Addr(m)); (* 32-разрядный адрес *) ELSE IF OperandSize = 32 AND AddressSize = 16 THEN r32 <- Усечение_до_16_битов(Addr(m)); ELSE IF OperandSize = 32 AND AddressSize = 32 THEN r32 <- Addr(m); FI: FI; FI;FI; ОписаниеКоманда LEA вычисляет исполнительный адрес (часть его, определяющуюсмещение) и записывает его в заданный регистр. Атрибут размера операндакоманды (представленный в описании работы команды выше именем OperandSize)определяется выбранным регистром. Атрибут размера адреса (представленныйименем AddressSize) определяется атрибутом USE сегмента, содержащеговторой операнд. Атрибутиы размера адреса и размера операнда влияют надействие, выполняемые командой LEA, следующим образом: Размер операнда Размер адреса Выполняемое действие----------------------------------------------------------------- 16 16 Вычисляется 16-разрядный исполнитель- ный адрес и записывается в запроше- нный 16-разрядный регистр назначения. 16 32 Вычисляется 32-разрядный исполнитель- ный адрес. Младшие 16 битов адреса записываются в запрошенный 16-раз- рядный регистр назначения. 32 16 Вычисляется 16-разрядный исполнитель- ный адрес. 16-разрядный адрес расши- ряется нулем и записывается в зап- рошенный 32-разрядный регистр назна- чения. 32 32 Вычисляется 32-разрядный исполнитель- ный адрес и записывается в запроше- нный 32-разрядный регистр назначения.----------------------------------------------------------------- Изменяемые флагиОтсутствуютИсключения защищенного режима#UD, если второй операнд является регистром.Исключения режима реальных адресовПрерывание 6, если второй операнд является регистром.Исключения виртуального режима 8086Те же исключения, что и в режиме реальных адресов.