Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по синтаксису

367
14 февраля 2008 года
Meatcoins
303 / / 18.01.2006
Допустим у меня есть какая-то структура:
 
Код:
MEMORY_ALL_FIND STRUCT
buffer db 400h dup(?)
.....
MEMORY_ALL_FIND ENDS

Хочется написать так:
 
Код:
assume edi:ptr MEMORY_ALL_FIND
invoke GetModuleHandle,0h
invoke GetModuleFileName,eax,[edi].buffer,400h
.....
assume edi:nothing

Но так получается ошибка!
По идее почему? Ведь в edi содержится адрес памяти, которая была выделена как VirtualAlloc.
Я хочу просто выделить сразу большой фрагмент виртуальной памяти, а потом с помощью структуры его как бы разметить, а потом эти ссылки использовать в функциях!
Не хочется городить вот так:
 
Код:
assume edi:ptr MEMORY_ALL_FIND
invoke GetModuleHandle,0h
lea edx,[edi].buffer
invoke GetModuleFileName,eax,edx,400h
.....
assume edi:nothing

Что делать???
5.3K
18 февраля 2008 года
Somebody
185 / / 24.12.2006
[edi].buffer вполне может значить его смещение в FASM, но не в других ассмеблерах. Используй offset.
367
18 февраля 2008 года
Meatcoins
303 / / 18.01.2006
В Masm addr можно использовать или dword, чтобы уточнить что именно надо. Что-то я об этом не подумал...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог