С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
1

Работа с командой Lea

17.03.2016, 15:41. Показов 2292. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Assembler
1
lea ax,[bx*cx] ;такое вообще возможно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2016, 15:41
Ответы с готовыми решениями:

lea VS offset
В чем отличие lea bx,str от mov bx,offset str

Информация по команде LEA
Привет. Недавно наткнулся на такую хорошую команду. Часть информации по ней почерпнул отсюда...

Разница Lds, les и lea
Объясните пожалуйста простым языком разницу между данными командами. Совсем не могу уловить их суть...

Какой результат выполнения команды lea
Помолите плез, что будет? По листингу препод мучитLEA eax,

9
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.03.2016, 15:51 2
SamBars,
нет.
В скобках возможно только такие варианты: bx, si, di, bp, bx+si, bx+di, bp+si, bp+di, так же к перечисленому может быть добавлено любое число.
1
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
17.03.2016, 16:22  [ТС] 3
Assembler
1
lea ax,[cx+cx*2] ;так тоже возможно, это было написано в Зубкове.
0
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.03.2016, 16:27 4
какая страница у Зубкова?
0
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
17.03.2016, 16:29  [ТС] 5
469
0
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.03.2016, 16:34 6
Лучший ответ Сообщение было отмечено SamBars как решение

Решение

Такое возможно только с 32-х битными регистрами, с 16-и битными только bx, si, di, bp, bx+si, bx+di, bp+si, bp+di, плюс число.
Изучите рисунок
1
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
17.03.2016, 16:40  [ТС] 7
У меня вот такой вопрос, если взять 32 битные регистры то программа будет работать медленнее чем при 16 битных регистрах?
0
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
17.03.2016, 17:38 8
Лучший ответ Сообщение было отмечено SamBars как решение

Решение

Всё зависит от поставленных задач и целей. Долго вникать в смысл.
Есть возможность использовать 32-х битные регистры в 16-ти битном сегменте и наоборот. В любом случае перед командой ставится префикс.
1
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
17.03.2016, 23:15  [ТС] 9
Извини друг я новичок, только изучаю ассэмблер и не понимаю все так быстро)
смотри
Assembler
1
2
3
mov ax,4
mul cx  ; в сх переменная n например
add ax,7
возможно ли вместо этого написать
Assembler
1
lea ax,[ecx*4+7] ; и если возможно,то какой же код быстрее работает
0
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
18.03.2016, 10:10 10
Лучший ответ Сообщение было отмечено SamBars как решение

Решение

SamBars,
Код FASM:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
format PE GUI 4.0
entry start
 
section '.data' data readable writeable
 
start:  mov     ax,4
        mov     ecx,10
        mul     cx
        add     ax,7
        mov     di,ax
;
        mov     ecx,10
        lea     esi,[ecx*4+7]
        ret
Регистры OllyDBG смотри на картинке:
Изображения
 
1
18.03.2016, 10:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2016, 10:10
Помогаю со студенческими работами здесь

Команда lea вводит меня в недоуменее
Я складываю числа разными способами и вдруг получаю разные ответы: .model flat .code public...

Что выполняет эта операция (lea edx, ds:0[edi*4])?
Дизассемблировал программу и там встретилась непонятная операция. Что это может значить: lea...

Замена lea di, adrr на mov di, offset adrr и для дальнего косвенного вызова. Возможно?
DATA SEGMENT ADDR_FAR_PROC DW ?,? DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE mov ax,seg...

Работа с командой system
У меня программа запускает компиляцию файла-паскаль через консоль system("start...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru