реклама на сайте
подробности

 
 
> IAR for PIC18, Вызов asm routines
scout
сообщение Oct 24 2009, 21:30
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



Собственно делаю как описано в документации:

PUBLIC в *.asm, extern перед объявлением прототипа в *.c.
Не работало, пока не глянул в startup и не посмотрел, что там еще
для чего то директивы FUNCTION и FUNCALL применяются.
Полез читать доку на компилер, но там все как то смутно описано,
особенно не понятно, что за таинственный параметр надо указывать
после имени метки в директиве FUNCTION.
Т.е например в startup:

Код
FUNCTION  __program_start,021A01H
LOCFRAME  CSTACK, 2, STACK
FUNCTION  __low_level_init,0200H
FUNCALL   __program_start, __low_level_init


Что за таинственный параметр 021A01H?


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scout
сообщение Oct 25 2009, 17:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837



Без второго параметра директива FUNCTION не работает(компилятор ругается на не допустимый синтаксис). Без PUBLIC тоже не работает, но ругается уже линкер. Для AVR у меня тоже все прекрасно работает, а вот под PIC они наворотили...
Вот что сказано в документации на Си компилятор:

SYNTAX
FUNCTION label,value

PARAMETERS
label - Label to be declared as function.
value - Function information.

DESCRIPTION
FUNCTION declares the label name to be a function. value encodes extra information
about the function.

И все... Какую такую дополнительную информацию отражает параметр "value"...


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01511 секунд с 7
ELECTRONIX ©2004-2016