Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-ноя-19 10:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-24 17:34 
Не в сети

Зарегистрирован: 2009-дек-14 15:37
Сообщения: 2
Будьте любезны, подскажите что значит ошибка компилятора
Undefined instruction: 'MOVF' ?

и почему она undefined?

Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-25 20:15 
Не в сети

Зарегистрирован: 2010-янв-08 02:11
Сообщения: 23
Откуда: Азов
Здравствуйте Дмитрий.
Сообщение Undefined instruction: 'MOVF' говорит о том что данная инструкция не определена :D в асме всего 6 команд начинающихся на MOV:

Код:
movfp  f,p
movlb  k
movlr  k
movlw  k
movpf  p,f
movwf  f


Выбирай какая нужна. Описание команд в спецификации на 1886ВЕ.
[/quote]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-28 08:49 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
Дмитрий писал(а):
Будьте любезны, подскажите что значит ошибка компилятора
Undefined instruction: 'MOVF' ?

и почему она undefined?

Спасибо.


Это проблема в компиляторе, мы сейчас работаем над ее устранением.
Вызывается она при реализации операции умножения различных типов, например int8 на int24. Для исправления пока советую переписать код, так что бы приведение типов выполнялось до операции умножения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июн-30 13:49 
Не в сети

Зарегистрирован: 2009-дек-14 15:37
Сообщения: 2
-=Sergei=-, Спасибо за ответ.
Я действительно забыл указать, что пользуюсь компилятором CC7A. Проблему уже решил, просто надо попривыкнуть к особенностям данного компилятора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 10:04 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Добрый день.

Компилятор после HI-TECH PICC непривычный и ограниченный, но сообщения об ошибках у него просто кошмарные - не каждый раз поймёшь, что ему не нравится.

Подскажите, пожалуйста, что бы могло значить сообщение: "Syntax error (or limitation)"? При этом он указывает на прототип функции:
Код:
void initmyproj(void);

Если прототип закомментировать, начинает с тем же сообщением указывать на саму функцию:
Код:
void initmyproj(void)
{
  for (fuzptr = &fuzvals[4];
       fuzptr <= &fuzvals[5];
       *fuzptr++ = 0);
}

При этом можно менять тип и имя функции как угодно, указание компилятора остаётся прежним.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:10 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
Вы не указали версию компилятора и тип переменных.
Код:
uns8 fuzptr;uns8 fuzvals[10];

CC7A Ver 1.0C, EXTENDED edition выдает ошибку Syntax error на строку
Код:
   *fuzptr++ = 0);

Тут Вам нужно упростить выражение. В readme.txt читаем:
CC7A is not a full C compiler. There are restrictions to be aware
of. The main problem is that CC7A has limited ability to allocate
temporary variables. Because of this, complex statements often
have to be rewritten using simpler statements. This is most
notisable when using variables of 16 bit or larger. There is an
advantage of such rewriting. Often the generated hex code gets
more compact.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:27 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 778
Lew писал(а):
CC7A Ver 1.0C
Версия 1.0C сегодня-завтра появится на сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:32 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Версия компилятора та же, что у вас: CC7A Ver 1.0C, EXTENDED edition.

Переменные в цикле - это указатели:
Код:
uns8 * fuzptr;
uns8 * fuzvals;

Вы правы, скорее всего, дело именно в сложном синтаксисе. Но если сообщения об ошибках вида "Syntax error" я уже видел и научился с ними бороться, то здесь он указывал на саму функцию и непонятно, что хотел этим сказать. Сейчас взялся править код с другого конца и именно эта ошибка "Syntax error (or limitation)" исчезла.


Проблема в том, что это фрагмент кода библиотеки стороннего разработчика, который в PICC-16 сходу откомпилился без единой ошибки, зашился в контроллер (PIC16F688) и корректно работал, а CC7A в нём спотыкается буквально на каждом шагу из-за сложности выражений.

Будем работать над упрощением исходного кода. В любом случае, спасибо за ответ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-июл-14 12:34 
Не в сети

Зарегистрирован: 2010-июл-14 09:53
Сообщения: 11
Откуда: Петербург
Да, и версия компилятора не 1.0С, а 1.0A.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-авг-02 09:45 
Не в сети

Зарегистрирован: 2009-ноя-30 12:20
Сообщения: 31
Откуда: СПБ
Как там насчет замены компилятора 1.0А на 1.0С


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-авг-02 13:19 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 778
DimonD писал(а):
Как там насчет замены компилятора 1.0А на 1.0С

Насчет замены написано на сайте в разделе "Программное обеспечение". Обратитесь в отдел маркетинга: (495) 981-54-33. Для каждого предприятия (даже для каждого компилятора) идет индивидуальное обновление.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-15 17:15 
Не в сети

Зарегистрирован: 2010-июл-22 15:50
Сообщения: 11
Добрый вечер! Скажите пожалуйста, поддерживает ли компилятор передачу функции параметров по ссылке, в частности массивов. Если можно приведите пример.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-16 14:18 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
stormbird4 писал(а):
Добрый вечер! Скажите пожалуйста, поддерживает ли компилятор передачу функции параметров по ссылке, в частности массивов. Если можно приведите пример.
Читаем cc7a-10.pdf:
myfunc(&tab[i]); // char tab[20]; // string in RAM
WBR.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-16 22:01 
Не в сети

Зарегистрирован: 2010-июл-22 15:50
Сообщения: 11
На сколько я понимаю в этом примере передается ссылка на отдельный элемент, а хотелось бы узнать как передать ссылку на массив в целом и в функции его обработать. Такое возможно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор CC7A
СообщениеДобавлено: 2011-ноя-17 13:39 
Не в сети

Зарегистрирован: 2009-май-25 15:07
Сообщения: 158
Откуда: АО "ПКК Миландр"
stormbird4 писал(а):
На сколько я понимаю в этом примере передается ссылка на отдельный элемент, а хотелось бы узнать как передать ссылку на массив в целом и в функции его обработать. Такое возможно?
А почему, собственно, нет? Вы хотите, чтобы я здесь цитировал учебник "Язык С для начинающих"?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB