Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при компиляции 
:(
    Опции темы
Tamplier
Дата 27.5.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 23.4.2007

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



При компиляции пректа возникает ошибка
undefined symbol asmproc (int near*, int, int) in module lab_mas.c
Подскажите, как её исправить?
Вот код
 
Код

#include <stdio.h>
#include <stdlib.h>

//extern "C"
void ASMPROC (int *,int,int);

main()
{
  //    extern void _ASMPROC (int *,int,int);
    int *m; //ukazatel' na massiv
    int r;  //razmer massiva
    int i; //schetchik FOR dlya vvoda elementov massiva
    int l; //peremennaya dlya vuchislennoy summu

    printf ("\n Vvedite razmer massiva: "); //zaprashivaem razemer
    scanf ("%d",&r);                        //vvod razmera

    m=(int*)malloc(r*sizeof(int)); //vudelenie pamyati pod massiv

    printf ("\n Vvedite elementu massiva: "); //zaprashivaem elementu massiva

    for (i=0;i<r;i++) //vvod elementov
    {
        printf ("\n a[%d]=",i+1);
        scanf ("%d",&m[i]);
    };

    ASMPROC(m,r,l);

    printf ("\n Summa ravna %d",l);

    getchar();
    getchar();
    return 0;
}

и для ассемблеровского файла
Код

.model small
.code
_ASMPROC proc C near
ARG am:ptr, ar:word, asum:word
public _ASMPROC
push si
push cx
push bx
pushf

mov si,[am] ;SI-smeshenie massiva
xor bx,bx   ;obnulyaem BX

met_cikl:   ;nachalo cikla dlya vuchisleniya summu
lodsw       ;AX=znachenie ocherednogo elementa massiva 
mov bx,ax
cmp ax,bx
je m1
jb m2
m1:
cmp bx,20
jb m2
je m3
m2:
mov ax,bx
mov l,ax
m3:
inc si
cmp si,ar   ;sravnivaem znachenie SI i razmer massiva
jbe met_cikl ;esli znachenie SI men'she razmera massiva, to cikl snova nachnet ispolnyat'sya
popf
pop bx
pop cx
pop si
ret
_ASMPROC endp
ends
end


Это сообщение отредактировал(а) Tamplier - 27.5.2007, 14:04
PM MAIL   Вверх
MAKCim
Дата 28.5.2007, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Tamplier
у тебя вроде как в .c файле ASMPROC, а в .asm - _ASMPROC
кроме того, делай так
Код

extern "C" void _ASMPROC (int *,int,int);



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

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

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

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


 




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


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

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