![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Ну вот а теперь почитайте, что вам писали и посмотрите на ваш же скриншот.
Lea помещает в eax только аддрес переменной, т.е. 403000h А переменные располагаются просто одна за другой в памяти, так, как вы их описали в секции данных. |
![]() |
![]() |
![]() |
#12 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
То что ты в дампе данных выделил просто означает что значения эти помещаются по соседству, но это не значит что регистр указывает на них всех сразу. Просто в нем хранится указатель на первый блок данных - C4549FB8. В реале же EAX указывает только на 0B89F54C4h. Попробуй пропиши push [eax] и в стек занесется только это значение. Все зависит от того как ты после поступишь с этим указателем.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#13 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Кстати странно, что компилятор не ругался на строке add eax,[VAR_WORD] ровно как и на следющей. Ибо это несоответствие типов.
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
![]()
он перемещает... адрес переменной. но в этом адресе есть еще 2 переменых.
|
![]() |
![]() |
![]() |
#15 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]() Цитата:
здесь Код:
|
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
![]()
помещается адрес переменой. но нафига перемещать еще 2 переменые... адрес то у них совсем другой
или EAX знает что перемещена была только одна переменая и работать он будет только с ней? Goodwin98, написал тебе в icq 272532204 Последний раз редактировалось Stilet; 04.06.2011 в 14:05. |
![]() |
![]() |
![]() |
#17 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]() Цитата:
Не имею желания общаться с вами в асе. |
|
![]() |
![]() |
![]() |
#18 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
![]()
VAR_DWORD DD 0B89F54C4h
VAR_WORD WORD 54C4h VAR_WORD_2 DW 7777h в EAX B89F54C4 54C4 7777 если запускается следующас команда ADD EAX , dword ptr VAR_WORD она будет обрабатывать полностью все 3 переменые которые в EAX ? Последний раз редактировалось goluzov; 04.06.2011 в 14:26. |
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
я уже говорил что помещаете вы только адрес.
а вот если вы смотрете то что лежит по этому адресу, и так же то что потом, то естественно увидите и след данные. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |