|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.02.2010, 18:43 | #1 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 56
|
Запись в регистр
Только начал разбираться в ассемблере, вопрос следующий.
Если написать Код:
А если мне надо поместить именно само значение esi+4*edi в регистр? Такой код работает: Код:
Код Код:
|
15.02.2010, 19:40 | #2 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
|
|
15.02.2010, 19:59 | #3 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
15.02.2010, 20:17 | #4 | |
Пользователь
Регистрация: 17.02.2009
Сообщений: 56
|
Цитата:
Код:
Про переставление операндов вообще не понял: все правильно, сначала приемник, потом источник... |
|
15.02.2010, 20:43 | #5 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
Код:
|
|
15.02.2010, 20:45 | #6 |
Пользователь
Регистрация: 17.02.2009
Сообщений: 56
|
И это будет, так скажем, самый оптимальный вариант?...
|
16.02.2010, 04:04 | #8 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Vitek-pm
Офигиваю от постановки вопроса Цитата:
эквивалент команды lea eax, [esi+4*edi] это последовательное выполнение следующих команд mov eax,edi / shl eax,2 / add eax,esi / lea eax,[eax] Последний раз редактировалось Mikl___; 16.02.2010 в 06:22. |
|
16.02.2010, 14:58 | #9 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Lea - одна из самых быстрых команд. Выполняется за тоже время, что и команды пересылки регистр-регистр, но может заменять сразу несколько простейших команд. Благодаря этому многие компиляторы оптимизируют свой код при помощи этой команды.
|
16.02.2010, 16:30 | #10 | |
Пользователь
Регистрация: 17.02.2009
Сообщений: 56
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить регистр Windows? | Влад_М | Общие вопросы Delphi | 12 | 12.05.2009 21:41 |
Регистр в таблицах БД | Alexij | БД в Delphi | 3 | 17.04.2008 13:38 |
Регистр символов | Никки | Общие вопросы Delphi | 1 | 22.12.2007 20:14 |
регистр | vitalik007 | Общие вопросы Delphi | 2 | 15.09.2007 02:41 |