Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2017, 19:54   #1
nait123321
Пользователь
 
Регистрация: 25.04.2017
Сообщений: 13
По умолчанию Вызов С++ функции из ассемблера

Здравствуйте, есть массив в ASM(уже инициализированный), вызывается функция С++ которая сортирует и возвращает уже отсортированный массив. Написал код, но получаю ошибку. Гуглил, применял их решения - ничего не помогло.
source.cpp
Код:
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    return 0;
}

extern "C" int *SortMass(int* m)
{
	for (int i = sizeof(m) - 1; i >= 1; i--)
		for (int j = 0; j < i; j++)
		{
			if (m[j] > m[j + 1])
			{
				int foo = m[j];
				m[j] = m[j + 1];
				m[j + 1] = foo;
			}
		}
	for (int i = 0; i < sizeof(m);++i)
		cout << m[i] << endl;
	return m;
}
ASM
Код:
.386 ;
.model flat
extern _SortMass : proc

.data
	mas db 12, 2, 7, 3, 2, 1, 21
.code
	mov     ax,@data
    mov     ds,eax

	mov edx, offset mas
	call _SortMass

	push    EBP
	mov     EBP, ESP      

mov eax,[ebp+4]     ; get the address of the array
mov ebp, eax        ; BP now points to the array
mov eax, [ebp]      ; get value of first element
add eax,[ebp+2]     ;   add remaining elements
add eax,[ebp+4]

pop EBP
ret

    
end
END

Информация о ошибках: http://i.imgur.com/87WPiMv.png
nait123321 вне форума Ответить с цитированием
Старый 26.05.2017, 10:56   #2
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

Раз прога под Windows, то вот эти строки нужно убрать. И будет счастье
Код:
    mov     ax,@data
    mov     ds,eax
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не происходит вызов С функции из ассемблера, очень странная ситуация pompiduskus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 28.09.2016 08:56
Вызов функции Diana528 Общие вопросы C/C++ 1 18.04.2013 21:56
Мини бэйсик:объявление функции, вызов функции , возврат. AL_LORD Помощь студентам 2 14.10.2010 17:48
Вызов функции new player БД в Delphi 5 07.10.2010 13:01
Вызов функции MarSeON PHP 2 01.08.2008 20:22