Как на фасме объявить прототип пользовательской функции - FASM

Узнай цену своей работы

Формулировка задачи:

Сам я работаю на

Масме

для одной темы изучаю пример на

Фасме

в определённых частях кода мне интересно узнавать какое значение у определённого объекта Для этого сделал тандем функций

wsprintf

и

MessageBox

принцип я думаю всем понятный первая функция переводит значение в текстовый вид а вторая банально выводит это значение через месаджбокс всё работает нормально но каждый раз ставить этот тандем в нужном месте мягко говоря утомляет по этому решил завернуть этот тандем в функцию
proc Message Temp
invoke wsprintf,addr pText,'%d',[Temp]
invoke MessageBox,0,addr pText,0,32
ret
endp
и вызывать эту функцию в нужном мне месте
invoke Message,eax
но Фасм выводит ошибку -

Error: operand size not specified

Первое что пришло в голову то это то что нужно прописать прототип но как это сделать на синтаксисе Фасма я честно говоря не знаю просмотрел примеры которые были в комплекте

Фасма

там ни чего подобного я не нашёл Подскажите пожалуйста как объявить прототип на

Фасме

или дело совсем в другом
Подсказали на другом форуме что у

Фасма

нет прототипов а ошибка в том что как я понял у пользовательских функций вместо вызова
invoke Message,eax
нужно прописывать
stdcall Message,eax
то есть вместо (

invoke

) нужно писать (

stdcall

)

Фасм

вроде бы позицианируется как продвинутая платформа у вдруг такие сложности я честно говоря очень удивлён

Решение задачи: «Как на фасме объявить прототип пользовательской функции»

textual
Листинг программы
invoke  OleInitialize,0,0

Объяснение кода листинга программы

  1. В коде используется функция invoke для вызова функции OleInitialize.
  2. OleInitialize - функция, которая используется для инициализации библиотеки COM (Component Object Model) и создания потока для работы с COM объектами. В данном случае, функция вызывается без аргументов.
  3. Аргументы функции invoke в данном случае равны 0,0. Это означает, что вызываемая функция не принимает аргументы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы