Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Подпрограммы на ассемблерских вставках на c++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему такой простой алгоритм работает неправильно? http://www.cyberforum.ru/cpp-beginners/thread37765.html
#include <stdio.h> #include <conio.h> int i,j,x,n,max,a; int main() { clrscr(); x=0;
C++ Матрица,функция или процедура. Доброго всем времени. Пытаюсь написать функцию или процедуру. ” В заданной целочисленной матрице A(N, M) выведите на печать индексы первого положительного элемента, кратного заданному числу K. Если... http://www.cyberforum.ru/cpp-beginners/thread37751.html
C++ Выяснить, является ли линия уникурсальной
Не могу прогу написать с рекурсией, чтоб правильно функционировало (с возвратом значения). Дайте хотя бы ссылку,где похожее найти. Пусть x1=x2=x3=1, xi=xi-1+xi-3, i=4,5... Найти сумму Е (от 1 до...
Реализовать программный калькулятор C++
Нужно сделать на с++ следующее... Реализовать программный калькулятор, запрашивающий у пользователя в виде строки символов выражение, которое необходимо вычислить, и производящий необходимые...
C++ Работа с файлами... http://www.cyberforum.ru/cpp-beginners/thread37710.html
Методом простой итерации решить систему n линейных алгебраиче-ских уравнений c n неизвестными. Матрица коэффициентов системы и вектор свободных членов хранятся в двух файлах Помогите...
C++ Работа со списками Создать два списка целых чисел. Рассортировать каждый из них, используя алгоритм обмена. Из двух рассортированных списков путём их слияния получить новый рассортированный список, не используя третий... подробнее

Показать сообщение отдельно
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782

Подпрограммы на ассемблерских вставках на c++ - C++

02.06.2009, 00:45. Просмотров 527. Ответов 4
Метки (Все метки)

Я делаюна assembler подпрограмму.
Главная программа имеет такой вид:
Этот фрагмент должен складывать 2 числа
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
extern "C" int _stdcall func1 (int, int);
int main ()
{
    cout << func1 (30, 53) << endl;
    return 0;
}
Потом я создаю текстовый файл, копирую в него следующий код:
Assembler
1
2
3
4
5
6
7
8
9
10
.386
.model flat
.data
.code
func1 proc stdcall, a: dword, b: dword
mov eax, a
add, eax, b
ret 8
func1 endp
end
Добавляю его в проект через Project/Add existing item, и переименовываю его прямо в программе или до того как добавляю в проект в func1.asm. Расширение соответственно становится не txt, а asm.
Компилятор выдаёт такие ошибки:
Код
asm.obj : error LNK2001: unresolved external symbol _func1@8
C:\Temp\asm.exe : fatal error LNK1120: 1 unresolved externals
Не знаю, насколько такой способ верен, по крайней мере мне так сказали делать.
Возможно имеются ошибки в оформлении самой подпрограммы, но ошибки вызодят прямо на этапе линковки.
Скажите, в чём ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru