Здравствуйте, не могу понять как работать с локальными переменными в FASM. Пытаюсь компилить такой вот код: Код (Text): proc Blablabla local szWindowsDir[MAX_PATH] : BYTE invoke GetSystemDirectory, szWindowsDir, MAX_PATH ret endp После FASM говорит что: Собственно каким образом мне заставить это работать? =) Буду примного благодарен за любые советы!
Как-нибудь так: Код (Text): proc Blablabla local szWindowsDir[MAX_PATH] : BYTE lea eax, [szWindowsDir] invoke GetSystemDirectory, eax, MAX_PATH ret endp Вопросы на засыпку: - как представлены локальные переменные в памяти? (hint: OllyDbg) - как invoke работает с локальными переменными в masm'e? (hint: OllyDbg) - что такое invoke в fasm'e и что он делает? (hint: контекстный поиск по '\fasm\include\')
Если юзать win32ax.inc, то можно передавать указатели на локальные переменные в масм-стиле через addr: Код (Text): invoke GetSystemDirectory, addr szWindowsDir,MAX_PATH