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

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

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

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

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

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

будет
eax + 777754c4h
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 14:25   #22
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

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

Цитата:
и как она знает что в EAX не переменая, а адрес
Она это не знает. Это должны знать вы, когда пишете)
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 14:26   #24
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
будет
eax + 777754c4h
VAR_WORD WORD 54C4h

ADD EAX , dword ptr VAR_WORD

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
будет
eax + 777754c4h
получается будет

B89F54C4 54C4 7777 + dword ptr 54c4

я изучаю асемблер на видео. там говорится что будет не

B89F54C4 54C4 7777 + dword ptr 54c4

а 54C4 7777 + dword ptr 54c4

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

Цитата:
VAR_WORD WORD 54C4h

ADD EAX , dword ptr VAR_WORD
Вы написали dword ptr. Это говорит брать 32 бита несмотря на то, что переменная 16 битная(на кой вы это сделали это, кстати, тоже отдельный вопрос). Следующие 16 бит принадлежат другой переменной, которая становится частью числа, которое в итоге складывается с eax.
После VAR_WORD в памяти находится VAR_WORD_2

Цитата:
я изучаю асемблер на видео. там говорится что будет не
Будет бред. Вы складываете аддрес со значением переменной.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 14:35   #26
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

т.е. команда ADD получает для себя последний даблворд. но я пробовал отдельно произвести сложение

VAR_DWORD DD 0B89F54C4h
VAR_WORD WORD 54C4h
VAR_WORD_2 DW 7777h

VAR_DWORD_2 DD 54C47777h

MOV EAX, VAR_DWORD_2
ADD EAX, dword ptr VAR_WORD

и результат получается не тот, что при

LEA EAX, VAR_DWORD
ADD EAX, dword ptr VAR_WORD
goluzov вне форума Ответить с цитированием
Старый 04.06.2011, 14:39   #27
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Зачем вы так упорно хотите использовать именно lea ?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 04.06.2011, 14:42   #28
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

кстати, ТС а вы в чем проверяете то?
в каком отладчике(странный отладчик, что показывает не значение eax, а трактует его значение как адрес)

я вообще часто использую lea как быстрое умножение на 5 и 3
то есть lea eax,[eax+eax*4]
и lea eax,[eax+eax*4]
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.06.2011, 14:45   #29
goluzov
Форумчанин
 
Регистрация: 26.06.2010
Сообщений: 168
По умолчанию

просто там на видео все так.

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
будет
eax + 777754c4h
VAR_WORD WORD 54C4h
VAR_WORD_2 DW 7777h

ADD EAX , dword ptr VAR_WORD

будет 54C47777 или 777754c4h ?

и если в EAX B89F54C4 54C4 7777

то что он будет прибавлять. последние 32 бита 54C4 7777? или первые B89F54C4?

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
кстати, ТС а вы в чем проверяете то?
в каком отладчике(странный отладчик, что показывает не значение eax, а трактует его значение как адрес)

аа, значит там не адрес а значение должно быть.... теперь понятно как он понимает что там не адрес а переменая.

у именя Borland turbodebugger

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

Цитата:
и если в EAX B89F54C4 54C4 7777

то что он будет прибавлять. последние 32 бита 54C4 7777? или первые B89F54C4?
В eax 403000h т.е. аддрес переменной, как вам уже 15 раз написали.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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