Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Assembler и C++, Программы на C++ и Assembler коды 
:(
    Опции темы
BNPmaster
Дата 4.7.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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




 
PM MAIL   Вверх
e-moe
Дата 6.7.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 3.8.2004
Где: Украина, Донецк

Репутация: нет
Всего: 4



переименуй ASM.CPP в ASM.C ;)
Просто Си++ и Си по разному изменяют имена, а асме у тя четко написано что экспортировать как для Си....

Добавлено @ 20:55 
Да, и сравни чтобы модели памяти были одинаковыми 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.