|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.12.2011, 17:14 | #1 |
юзер
Форумчанин
Регистрация: 22.12.2010
Сообщений: 245
|
назначение функции LEA
Что значить загрузить эффективный адрес и вычислить эффективный адрес?
|
22.12.2011, 17:56 | #2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
команда lea это частный случай команды mov.
например lea eax, [ebx] тоже самое что и mov eax, ebx. В чём фишка? Фишка в том что она позволяет выполять умножение и сложение одной командой. Например, lea ecx, [eax*eax] заменяет пару команд mov ecx, eax/shl ecx, 1 Иногда очень полезная вещь, а вообще без этой команды можно спокойно обойтись
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
22.12.2011, 18:03 | #3 | |
юзер
Форумчанин
Регистрация: 22.12.2010
Сообщений: 245
|
Цитата:
|
|
22.12.2011, 18:25 | #4 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
lea не предназначена для сложения и вычитания. сложение и умножение это побочный эффект, не более. lea это обычная mov
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
22.12.2011, 19:01 | #5 | ||
юзер
Форумчанин
Регистрация: 22.12.2010
Сообщений: 245
|
Цитата:
Цитата:
|
||
22.12.2011, 19:32 | #6 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
сказано же, lea - частный случай mov
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
22.12.2011, 19:33 | #7 |
юзер
Форумчанин
Регистрация: 22.12.2010
Сообщений: 245
|
|
22.12.2011, 19:44 | #8 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
Научитесь пользоваться поисковиками
читайте http://cracklab.ru/faq/Ассемблер:_команда_LEA
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
23.12.2011, 00:58 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я лично применял её для быстрого умножения на 3 и 5.
+еще некоторые быстрые вычисления. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
23.12.2011, 04:49 | #10 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Цитата:
Для сложения содержимого регистров (для ДОС только BX, BP, SI, DI) lea ax,[bx+di] == ax:=bx+di для вычитания из регистра числа (для ДОС только BX, BP, SI, DI) lea bx,[bx-10] == bx:=bx-10 для 32-разрядных регистров ограничений нет и добавляется умножение на 2, 4, 8 lea eax,[eсx*8+eсx] == eax:= eсx*9 читай учебник и пользуйся гуглом! |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
назначение флагов DF И CF | TotKtoNado | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 20.12.2011 13:14 |
назначение регистров | TotKtoNado | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 14.12.2011 18:30 |
lea | goluzov | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 40 | 05.06.2011 16:25 |
wrong parameters lea dx, name | Farrel | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 21.05.2011 23:18 |
LEA [FASM] | m32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 03.10.2010 13:57 |