Ассемблер для Windows

       

Вызов процедур



Вызов процедур

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, тогда порядок будет обратным.



Содержание раздела