Вызов функций Assembler из С++ прграмм

Модератор: Злобный

Ответить
3dmaster
Новичок
Сообщения: 12
Зарегистрирован: Чт сен 01, 2005 11:59
Откуда: Кишинёв
Контактная информация:

Вызов функций Assembler из С++ прграмм

Сообщение 3dmaster »

Всем привет,
Кто - нибудь знает как вызывать
подпрограмму написанную на Assembler
из программы на C++.

К примеру.
WORK.ASM
.MODEL MEDIUM,C
.CODE
public _DD
_DD PROC FAR
mov AX,10
add AX,20
_DD ENDP
END
ASM.CPP
#include<stdio.h>
#include<conio.h>

extern "C" void DD();

int main(void)
{

DD();
getch();
return 0;
}
Оба файда я помещаю в папку где находится компилятор C++ (TCC.EXE)
тудаже копирую компилятор Assembler (TASM.EXE), затем набираю
E:\C\BIN\TCC.EXE -IE:\C\INCLUDE ASM.cpp WORK.asm
(параметр -I указывает библиотеку для С)
И вот что мне выдают :
//------------------------------------------------------------
Turbo C++ Version 3.00 Copyright (c) 1992 Borland International
asm.cpp:
work.asm:
Microsoft (R) Macro Assembler Version 5.10
Copyright (C) Microsoft Corp 1981, 1988. All rights reserved.


49952 + 373789 Bytes symbol space free

0 Warning Errors
0 Severe Errors
Turbo Link Version 5.0 Copyright (c) 1992 Borland International
Error: Undefined symbol _DD in module asm.cpp

Available memory 4089184
//-------------------------------------------------------------
Undefined symbol _DD in module asm.cpp ---почему ??
Я Assembler только учу, но на C программирую давно. Может я
с assembler что-то напутал.
Если кто-то может помочь, буду очень благодарен.
Спасибо

Я использую MASM 5.1 и TC 3.0
dmn
Юзер
Сообщения: 177
Зарегистрирован: Вт мар 01, 2005 22:25

Сообщение dmn »

Попробуй скомпилировать asm модуль с "Case Sensitivity" опцией.
Ответить

Вернуться в «Программирование»