|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.02.2009, 19:55 | #31 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
В param - адрес на память, где находятся параметры.
param:=mm.Memory; сначала ecx=0, с каждым проходом цикла он увеличивается на 4 add ecx,4 и так пока ecx не станет равным ParamSize - общей сумме размеров параметров. а что такое LEA eax,a mov ebx,[eax] ? для типа extended не работает - он передается как 2 dword и один word. Например, для (-5.5): push $0000c001 push $b0000000 push $00 из CPU-debug. Последний раз редактировалось Роман Радер; 21.02.2009 в 20:00. |
05.03.2010, 22:35 | #32 |
Новичок
Джуниор
Регистрация: 05.03.2010
Сообщений: 1
|
Пишу на с
DWORD CallLibrary(DWORD FUNC,int Kollichestvo,DWORD PAR1,DWORD PAR2,DWORD PAR3,DWORD PAR4,DWORD PAR5) { DWORD Result; asm { push eax push ebx push ecx MOV EAX,DWORD PTR DS:[ Kollichestvo] cmp eax,0 je callfunc push DWORD PTR DS:[ PAR1] sub eax,1 cmp eax,0 je callfunc push DWORD PTR DS:[ PAR2] sub eax,1 cmp eax,0 je callfunc push DWORD PTR DS:[ PAR3] sub eax,1 cmp eax,0 je callfunc push DWORD PTR DS:[ PAR4] sub eax,1 cmp eax,0 je callfunc push DWORD PTR DS:[ PAR5] sub eax,1 callfunc: call DWORD PTR DS:[ FUNC] MOV DWORD PTR DS:[ Kollichestvo],EAX pop ecx pop ebx pop eax } Return Result; } Упс вместо sub eax,1 целесобразнее использовать dec eax Можно еще параметров добавить сколько уогдно но все к DWORD придеться приводить =((((((( За это ненавижу все компиляторы высокого уровня |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание и вызов библиотеки dll | DM_bite | Помощь студентам | 3 | 15.06.2010 12:47 |
Вызов функции | MarSeON | PHP | 2 | 01.08.2008 20:22 |
вызов из dll не ShowModal. | Roof | Общие вопросы Delphi | 7 | 25.07.2008 15:22 |
Автоматический вызов функции класса | Flaton | Общие вопросы C/C++ | 4 | 19.10.2007 17:56 |
Вызов функции по таймеру | Lexicss | Общие вопросы Delphi | 4 | 30.05.2007 22:47 |