Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Artishok
ЧакЭ одобряЭ
281 / 280 / 84
Регистрация: 27.12.2009
Сообщений: 1,767
1

Используя соглашение stdcall вызвать функцию на ассемблере

10.03.2011, 01:23. Просмотров 2103. Ответов 1
Метки нет (Все метки)

надо используя соглашения stdcall вызвать функцию на ассемблере и используя соглашения cdecl и fastcall вызвать функции с программы на си
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.686
.model flat
Public 
   _summaproc@8
 
.code
 
_summaproc@8
 push EBP 
 mov EBP,ESP 
 mov EAX, DWORD PTR [EBP+8] 
 add EAX, DWORD PTR [EBP+12] 
 pop EBP 
 ret 8
_summaproc@8 endp
end
вот функция на ассемблере.
при компиляции выдает ошибки
summa.asm(3) : error A2008: syntax error : in directive
summa.asm(4) : error A2008: syntax error : _summaproc@8
summa.asm(8) : error A2008: syntax error : _summaproc@8
summa.asm(15) : fatal error A1010: unmatched block nesting : _summaproc@8
вот прога на си
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
extern "C" _stdcall summaproc(int a,int b);
extern "C" _fastcall Sinus(int x)
{
    return sin(x);
}
extern "C" _cdecl Cosinus(int x,int y)
{
    return cos(x*y);
}
как вызвать функции в ассемблере?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 01:23
Ответы с готовыми решениями:

Передача дополнительного аргумента в функцию stdcall/cdecl?
Всем доброго дня! Есть функция func вида: __stdcall void func() { cout&lt;&lt;&quot;func&quot;&lt;&lt;endl;...

Как можно запустить прогу, не используя функцию Shell, а используя API функцию?
Привет Всем! Подскажите, как можно запустить прогу, не используя функцию Shell, а используя API...

Реализовать функцию strstr на ассемблере, и подключить эту функцию в проект MVS2008
Нужно реализовать функцию strstr на ассемблере, и подключить эту функцию в проет MVS2008. Код...

Как правильно передать вектор в функцию и вызвать эту функцию?
Здравствуйте, объясните как исправить ошибку. Возникает после for(), выдается, что размер polygon =...

Вычислить функцию на ассемблере
Добрый вечер, помогите вычислить функцию на ассемблере y=1-x^2/2!

1
murderer
4919 / 1591 / 164
Регистрация: 06.10.2010
Сообщений: 3,509
10.03.2011, 17:02 2
при компиляции выдает ошибки
В 8 строке забыл поставить двоеточие после имени метки
как вызвать функции в ассемблере?
По соглашению cdecl так
Assembler
1
2
3
4
5
push argN
...
push arg1
call func
add  esp,N*4
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2011, 17:02

Как вывести ASCII кодом квадрат, используя переменные в ассемблере
Ссылки на этом сайте облазила абсолютно все ,но полезного по этой теме ничего не нашла,мучаюсь уже...

Как вывести ASCII кодом квадрат, используя переменные в ассемблере
Ссылки на этом сайте облазила абсолютно все ,но полезного по этой теме ничего не нашла,мучаюсь уже...

Переделать функцию на ассемблере на сопроцессор
Подскажите,пожалуйста, как переделать функцию на ассемблере на сопроцессор. условия: Если а&gt;b:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.