alw
Гость
|
|
« : 20-04-2006 15:52 » |
|
прошу сильно не пинать тк с ассемблером лет 20 дела не имел, но тут попался usb девайс на ft245, хочу его куда нибудь пристроить. текст взят из примера к масму , первая команда FT_OK возвращает ,а вторая нет, видимо неправильно передан Handl, почему не пойму ,хотя в Си-шном варианте работает.
LOCAL hLib :DWORD LOCAL Handl :DWORD FT_OK equ 0 ; ------------------- ; Direct call the DLL ; ------------------- jmp @F libName db "Ftd2xx.dll",0 ; Си прототипы возвращают FT_Status FuncName db "FT_Open",0 ; FT_Status FT_Open(0,FT_Handle * ftHandl) FuncName1 db "FT_ResetDevice",0 ; FT_Status FT_ResetDevice (FT_Handle ftHandl) @@: invoke LoadLibrary,ADDR libName mov hLib, eax invoke GetProcAddress,hLib,ADDR FuncName push Handl push 0 call eax pop ebx invoke GetProcAddress,hLib,ADDR FuncName1 push [ebx] call eax ; тут не ОК .if eax==FT_OK szText TheMsg,"FT_OK" invoke MessageBox,hWin,ADDR TheMsg,ADDR szDisplayName,MB_OK .endif invoke FreeLibrary,hLib
|