Поделиться через


PROTO

Прототипы функции или процедуры. Вы можете вызвать функцию, прототипированную директивой PROTO, с помощью директивы INVOKE .

Синтаксис

label PROTO ⟦distance⟧ ⟦language-type⟧ ⟦,parameter:tag ...

Параметры

label
Имя прототипной функции.

расстояние (только 32-разрядная версия MASM.)
(Необязательно) Используется в 16-разрядных моделях памяти для переопределения по умолчанию и указания вызовов NEAR или FAR .

тип языка (только 32-разрядная версия MASM.)
(Необязательно) Задает соглашение о вызовах и именовании для процедур и открытых символов. Поддерживаемые соглашения:

  • 32-разрядная модель FLAT : C, STDCALL

  • 16-разрядные модели: C, BASIC, FORTRAN, PASCAL, SYSCALL, STDCALL

parameter
Необязательное имя параметра функции.

tag
Тип параметра функции.

Параметры параметра и тега могут отображаться несколько раз, один раз для каждого переданного аргумента.

Пример

В этом примере показано объявление PROTO для функции с именем addup3 , которая использует вызов NEAR для переопределения 16-разрядной модели по умолчанию для вызовов процедур и использует соглашение о вызовах C для параметров стека и возвращаемых значений. Он принимает два аргумента, WORD и VARARG.

addup3 PROTO NEAR C, argcount:WORD, arg1:VARARG

См. также

Справочник по директивам
. Справочник по МОДЕЛИ
Грамматика MASM BNF