|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.06.2011, 14:25 | #22 |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
и как она знает что в EAX не переменая, а адрес
|
04.06.2011, 14:25 | #23 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
|
|
04.06.2011, 14:26 | #24 |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
VAR_WORD WORD 54C4h
ADD EAX , dword ptr VAR_WORD получается будет B89F54C4 54C4 7777 + dword ptr 54c4 я изучаю асемблер на видео. там говорится что будет не B89F54C4 54C4 7777 + dword ptr 54c4 а 54C4 7777 + dword ptr 54c4 Последний раз редактировалось Stilet; 04.06.2011 в 15:11. |
04.06.2011, 14:32 | #25 | ||
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
После VAR_WORD в памяти находится VAR_WORD_2 Цитата:
|
||
04.06.2011, 14:35 | #26 |
Форумчанин
Регистрация: 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 |
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 | |
Форумчанин
Регистрация: 26.06.2010
Сообщений: 168
|
просто там на видео все так.
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? Цитата:
аа, значит там не адрес а значение должно быть.... теперь понятно как он понимает что там не адрес а переменая. у именя Borland turbodebugger Последний раз редактировалось Stilet; 04.06.2011 в 15:14. |
|
04.06.2011, 15:03 | #30 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |