![]() |
|
![]() ![]() ![]() |
|
BNPmaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 4.7.2006 Репутация: нет Всего: нет |
Всем привет,
Кто - нибудь знает как вызывать подпрограмму написанную на 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 © 1992 Borland International asm.cpp: work.asm: Microsoft ® Macro Assembler Version 5.10 Copyright © 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 © 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 |
|||
|
||||
e-moe |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 3.8.2004 Где: Украина, Донецк Репутация: нет Всего: 4 |
переименуй ASM.CPP в ASM.C ;)
Просто Си++ и Си по разному изменяют имена, а асме у тя четко написано что экспортировать как для Си.... Добавлено @ 20:55 Да, и сравни чтобы модели памяти были одинаковыми |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |