![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дельфийский ассемблер [D7]
microcomp © (2005-05-19 15:14:00)Ув. Как из дельфийского асма корректно вызвать виндовую функцию (покажите пример) в частности - вот код для чистого ассемблера:
.loopbegin:
;... делаем какието операции ...
memcall _GetAsyncKeyState,VK_ESCAPE
test eax,eax
jz .loopbegin
;... делаем выход....
Делает этот кусок кода простую вещь - проверяет нажата ли клавиша "Esc". Если да, выходим из цикла.
Digitman (2005-05-19 18:04:00) [1]
> CALL GetAsyncKeyState - Ошибка
CALL Windows.GetAsyncKeyState
begin...end (2005-05-19 17:36:00) [2]> microcomp © (19.05.05 17:33) [3]
Добавить в список uses модуль Windows?
microcomp (2005-05-19 17:33:00) [3]begin...end >
CALL GetAsyncKeyState - Ошибка
Что-то где-то нужно объявить.
Вот собственно и спрашиваю...
begin...end (2005-05-19 17:19:00) [4]> microcomp © (19.05.05 15:14)
asm
PUSH VK_ESCAPE
CALL GetAsyncKeyState
TEST EAX, EAX
JZ @@up
// клавиша нажата
...
@@up:
// клавиша не нажата
...
end.
Marser (2005-05-19 15:24:00) [5]Толкаем (push) в стек все параметры в соответствии с stdcall-соглашением и вызываем подпрограмму с помощью call ptr