Вызов процедур
Вызов процедур
1. С упрощенным вызовом процедур в MASM Вы уже познакомились. Это директива INVOKE. Процедура должна быть заранее определена с использованием ключевого слова PROTO. Например:
MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD ... invoke MessageBox, h, ADDR TheMsg, ADDR TitleW, MB_OK
Здесь h - дескриптор окна, откуда вызывается сообщение, TheMsg - строка сообщения, TitleW - заголовок окна, MB_OK - тип сообщения. ADDR в данном случае синоним OFFSET.
2. Оказывается, в синтаксисе TASM тоже имеется свой упрощенный вызов.
EXTERN MESSAGEBOX:PROC ... call MessageBox PASCAL,h,ADDR TheMsg,ADDR TitleW, MB_OK
PASCAL - тип вызова, точнее порядок следования параметров. Можно поставить параметр C, тогда порядок будет обратным.