У меня собственно такой вопрос: Как в fasm'e функции писать? Например в дельфяке я бы сделал: //==================================================== //=========== EXE === == = ... type TMyFunc = function(C : PChar):PChar; var dll_handle : THandle; MyFunc : TMyFunc; begin dll_handle := LoadLibrary(PChar('mylib.dll'); MyFunc := GetProcAddress(dll_handle,'MainProc'); MyFunc('xxl'); end; ... //=========== DLL === == = function MainProc(C : PChar):PChar; var xxx : PChar; begin ... Result := xxx; end; exports MainProc; //==================================================== PS: Мне надо DLL'ky написать.
Чё-т не пойму. FASM выдает illegal instruction на етот public, да и результат нужен в строковом параметре. Может example какой есь?
AvataR Тогда Вам нужно сначала разобраться с фасмом и ассемблером, а потом уже пытаться собрать dll. Поиск по форуму рулит.
С английским я не очень... Тама пример процедуры а мне надо создать функцию, возвращающую результат в виде строки. Немного есь, но не в программировании. Был бы материал нормальный на эту тема и все 0k
AvataR Есть перевод на русский, поищи на форуме фасма. Потом, есть статьи о фасме на этом сайте, ессно, тоже на русском. Забудь о делфи. Почитай первый раздел статей, начни с азов. "Результат в виде строки" - в Win32 строка - это массив символов, оканчивающихся 0. Передаётся она из функции в функцию по указателю на первый символ. Код (Text): proc GetName mov eax,szName ret endp szName db 'name',0