FASM 64 INCLUDE\EQUATES

Тема в разделе "WASM.BEGINNERS", создана пользователем fragment, 2 ноя 2010.

  1. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Здравствуйте мне тут понадобилась структура под х64 fasm в INCLUDE\EQUATES нужного файла неоказалось , да и в MSDN нужной 64-битной структуры не могу найти, что посоветуете, нужны структуры для ADVAPI32.DLL в часности для создания сервиса SERVICE_TABLE_ENTRYA , SERVICE_STATUS STRUCT и тд.
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    А это что?
    http://msdn.microsoft.com/en-us/library/ms686001(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/ms685996(VS.85).aspx
     
  3. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Я понимаю что такое есть а как узнать по какому суфиксу резарвирывать какое кол-во байт.
    lp,h - я так понимаю это qword'ы , dw - так и есть dword... не свовсем понятно

    и еще вопрос как резервирывать локальные переменные в fasm, в эксемплах не могу найти
     
  4. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Всё верно. Только нужно учитывать выравнивание. Одну-две структуры перевести под 64 фасм не сложно, но когда дело доходит до десятков, начинается головная боль. Поэтому пишите на C :)
     
  5. KIV

    KIV Member

    Публикаций:
    0
    Регистрация:
    16 июл 2009
    Сообщения:
    231
    Код (Text):
    1. proc P
    2. local A:DWORD,B:WNDCLASS,C[256]:BYTE
    3.     ...
    4.     ret
    5. endp
    или
    Код (Text):
    1. proc P
    2. locals
    3.     A dd ?
    4.     B WNDCLASS
    5.     C rb 256
    6. endl
    7.     ...
    8.     ret
    9. endp
     
  6. Sasha7b9

    Sasha7b9 New Member

    Публикаций:
    0
    Регистрация:
    17 окт 2010
    Сообщения:
    105
    KIV
    Дружище, укажи тогда заодно, какие файлы подключить нужно, чтобы заработало.
     
  7. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Почему после создания сервиса делаю настройку но она не прокатывает , не правильно обявлен тип данных в структуре ?

    Код (Text):
    1.         struct SERVICE_DESCRIPTION
    2.           lpDescription  dq      ?
    3.         ends  
    4.  
    5.         SERV_DES  SERVICE_DESCRIPTION <>
    6.        
    7.         mov [SERV_DES.lpDescription],lpDescription
    8.         invoke ChangeServiceConfig2A,[svcSCManager],SERVICE_CONFIG_DESCRIPTION,SERV_DES
     
  8. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    fragment
    dw - word
    dd - dword
     
  9. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    qwe8013
    Речь шла про префиксы в польской нотации, а не про объявления данных в x86 ассемблере. Так что dw это всё же DWORD.
     
  10. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    KeSqueer
    Эм... Это вроде как венгерская нотация. Польская — это немного не в ту степь. :)
     
  11. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    l_inc
    Простите меня за мою рассеянность :)