Написал dll'ку, при её использовании с помощью FASM ошибок нет, но когда dll использую с VS то всё работает но выходит предупреждение: Code: format PE GUI 4.0 DLL entry DllEntryPoint include 'win32a.inc' section '.text' code readable executable proc DllEntryPoint hinstDLL,fdwReason,lpvReserved mov eax,TRUE ret endp proc PrintMSG, param1, param2 invoke MessageBox,0,[param1],[param2],MB_OK ret endp section '.idata' import data readable writeable library user,'USER32.DLL' import user,\ MessageBox,'MessageBoxA' section '.edata' export data readable export 'TEST.DLL',\ PrintMSG,'PrintMSG' section '.reloc' fixups data discardable Code: format PE GUI 4.0 entry start include 'win32a.inc' section '.text' code readable executable start: invoke PrintMSG, message, Title invoke ExitProcess,0 Title db 'Title',0 message db 'Hello, World!',0 section '.idata' import data readable writeable library kernel,'KERNEL32.DLL',\ msg,'testdll.DLL' import kernel,\ ExitProcess,'ExitProcess' import msg,\ PrintMSG,'PrintMSG' Заголовочный файл: Code: #ifndef __DLL_H__ #define __DLL_H__ #ifdef __cplusplus extern "C" { #endif void PrintMSG(char *, char*); #ifdef __cplusplus } #endif #endif main.cpp: Code: #pragma comment(lib, "testdll") #include "DllFunc.h" int main() { PrintMSG("Hello", "Title"); return 0; } Подскажите что я не правильно делаю?
В fasm есть соответствующие директивы, погугли. Можешь в студии попробовать вместо void PrintMSG(char *, char*); написать void __stdcall PrintMSG(char *, char*);
Вопрос касается WinAPI, которое можно приписать к любому разделу кодинга. По этому спрашиваю в самом нужном разделе форума "Ассемблер". Есть два потока с абсолютно разными процедурами. Оба обращаются к одним и тем же глобальным переменным в секции данных. Для синхронизации мне нужно помещать работу с переменными в критическую секцию только в одном из потоков или в обоих?
Как увидеть в памяти, какими программами, загруженный файл драйвера с расширением .sys? Можно ли к нему прикрепиться (Attach) при помощи OllyDbg?
Как сделать, чтобы масм выполнил инструкцию pshufw mm1,mm2,0xff ? Пишу .mmx после .model, Масм ругается что не поддерживает такое в текущем cpu mode. У меня масм32.
Здравствуйте. Начал изучать Ассемблер. Но вот возникла непонятка. Будьте добры, разжуйте мне команду DIV. Заранее спасибо.
еммм, напишите значит перехват апишки вот карказ https://dl.dropbox.com/u/77070235/msimg32.asm вот из этой програмки http://rmansys.ru/ Название окошка "RMS_WND_HID"
Рожица на экране Здравствуйте. Представляю листинг программки которая выводит веселую рожицу в левый верхний угол. Скомпелировал com файл (ML.exe prog03.asm /AT. С компиляцией все получилось) Prog03 - моя программка. Но к сожалению вместо желаемого результата в сеансе DOS просто курсор. Вопрос, что не так? Вот собственно листинг: CSEG segment org 100h start: mov ax,0B800h mov es,ax mov di,0 mov ah,31 mov al,1 mov es: [di],ax mov ah,10h int 16h int 20h CSEG ends end start
Пробовал DOSbox. Результат тот же. (Мигает курсор) Перепроверял в DOSbox другие программы - работают. Буду признателен за ответ.