Шаг 53.
Директивы и средства ассемблера. Вызов процедур

    На этом шаге мы рассмотрим упрощенный вызов процедур.

    С упрощенным вызовом процедур в 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.

    Оказывается, в синтаксисе TASM тоже имеется свой упрощенный вызов.

    EXTERN MESSAGEBOX:PROC
    .    .    .    .    .
    call MessageBox PASCAL, h, ADDR TheMsg, ADDR TitleW, MB_OK

    PASCAL - тип вызова, точнее порядок следования параметров. Можно поставить параметр C, тогда порядок будет обратным.

    На следующем шаге мы рассмотрим макроповторения.




Предыдущий шаг Содержание Следующий шаг