Форум: "Основная";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизКак запустить ф-цию с параметрами строки в ASM Найти похожие ветки
← →
NikNet © (2005-09-04 08:53) [0]В общем мне надо без всяких "Var/const/type" а прямо в ф-ций
создать нужную строку и значение и запустить например как
запустить MessageBox на ASM к примеру с любой строкой...
В моём случае надо поместить в первый параметр значение
а во второй строку... Эти значение должны входить в ASM
код! То есть надо что бы не было не каких переменных...
ASM
Call MessageBox
END;
← →
begin...end © (2005-09-04 11:17) [1]
procedure MyProc;
asm
PUSH $0021E9CE
PUSH MB_ICONEXCLAMATION
PUSH $00
LEA EAX, [ESP + 2 * $04]
PUSH EAX
PUSH $00
CALL MessageBox
ADD ESP, $04
end.
:-)))
← →
Digitman © (2005-09-04 13:28) [2]
> То есть надо что бы не было не каких переменных
чем тебе переменные так насолили ?
← →
NikNet © (2005-09-04 13:29) [3]А как в EDI поместить строку?
← →
Digitman © (2005-09-04 13:32) [4]никак.
а зачем ?
при stdcall (любая WinAPI-ф-ция ориентирована именно на это соглашение) факт.параметры вызова ф-ции передаются через стек, а не через РОН
← →
Digitman © (2005-09-04 13:47) [5]procedure MyProc;
const hdr: string = "Заголовок";
const txt: string = "Любая строка";
asm
PUSH MB_ICONEXCLAMATION
LEA EAX, [hdr]
PUSH [EAX]
LEA EAX, [txt]
PUSH [EAX]
PUSH $00
CALL MessageBox
end;
← →
begin...end © (2005-09-04 15:10) [6]> Digitman © (04.09.05 13:47) [5]
> LEA EAX, [hdr]
> PUSH [EAX]
Можно проще: PUSH [hdr].
← →
begin...end © (2005-09-04 15:18) [7]> Digitman © (04.09.05 13:32) [4]
> любая WinAPI-ф-ция ориентирована именно на это соглашение
Есть, по крайней мере, одно иключение -- wsprintf.
← →
Digitman © (2005-09-05 08:51) [8]
> begin...end © (04.09.05 15:10) [6]
> Можно проще
да, можно и проще, но РОН я использовал лишь для наглядной иллюстрации
> Есть, по крайней мере, одно иключение -- wsprintf
сомневаюсь в ее полезности для случая с ObjectPascal.
а в [1] это ты так пошутил, да ? с cdecl-соглашением ?
← →
begin...end © (2005-09-05 09:08) [9]> Digitman © (05.09.05 08:51) [8]
> а в [1] это ты так пошутил, да ? с cdecl-соглашением ?
Э-э-э... Не понял... Причём там cdecl-соглашение?
← →
Digitman © (2005-09-05 09:21) [10]а-а-а ... пардон, я не посмотрел, что ты стек балансируешь последней строчкой
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c