Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 13:29   #11
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Ну вот а теперь почитайте, что вам писали и посмотрите на ваш же скриншот.
Lea помещает в eax только аддрес переменной, т.е. 403000h
А переменные располагаются просто одна за другой в памяти, так, как вы их описали в секции данных.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 13:30   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
goluzov
Когда ты поместил значение в регистр он может указывать на начало блока байтов данных, но он ни в коем случае не говорит где кончается этот блок.
То что ты в дампе данных выделил просто означает что значения эти помещаются по соседству, но это не значит что регистр указывает на них всех сразу. Просто в нем хранится указатель на первый блок данных - C4549FB8. В реале же EAX указывает только на 0B89F54C4h.
Попробуй пропиши push [eax] и в стек занесется только это значение. Все зависит от того как ты после поступишь с этим указателем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2011, 13:31   #13
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Кстати странно, что компилятор не ругался на строке add eax,[VAR_WORD] ровно как и на следющей. Ибо это несоответствие типов.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 13:36   #14
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
Ну вот а теперь почитайте, что вам писали и посмотрите на ваш же скриншот.
Lea помещает в eax только аддрес переменной, т.е. 403000h
А переменные располагаются просто одна за другой в памяти, так, как вы их описали в секции данных.
он перемещает... адрес переменной. но в этом адресе есть еще 2 переменых.
goluzov вне форума Ответить с цитированием
Старый 04.06.2011, 13:40   #15
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
но в этом адресе есть еще 2 переменых.
Вы сами их так описали.
здесь
Код:
VAR_DWORD DD 0B89F54C4h
 VAR_WORD WORD 54C4h
 VAR_WORD_2 DW 7777h
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 13:47   #16
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

помещается адрес переменой. но нафига перемещать еще 2 переменые... адрес то у них совсем другой

или EAX знает что перемещена была только одна переменая и работать он будет только с ней?

Goodwin98, написал тебе в icq 272532204

Последний раз редактировалось Stilet; 04.06.2011 в 14:05.
goluzov вне форума Ответить с цитированием
Старый 04.06.2011, 13:54   #17
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
помещается адрес переменой. но нафига перемещать еще 2 переменые... адрес то у них совсем другой
Как по ВАШЕМУ это должно было бы выглядеть ? Забить нулями соседние переменные ?

Не имею желания общаться с вами в асе.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 14:07   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
или EAX знает что перемещена была только одна переменая и работать он будет только с ней?
Нет. Он ничего такого не знает.
Цитата:
адрес то у них совсем другой
Но программа об этом не знает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2011, 14:21   #19
goluzov
Форумчанин
 
Регистрация: 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.
goluzov вне форума Ответить с цитированием
Старый 04.06.2011, 14:23   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я уже говорил что помещаете вы только адрес.
а вот если вы смотрете то что лежит по этому адресу, и так же то что потом, то естественно увидите и след данные.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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