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

 
 
> 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, 06:34
Сообщение #2


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

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



Делаю так:

Код
  
  PUBLIC test
;FUNCTION  test, 1
  RSEG CODE:CODE

test:
  NOP
  NOP
  NOP

  return

  END


Если отремарить строчку "FUNCTION test, 1", то работает. Параметр 1 я написал от фонаря, т.к не знаю, что это такое. Собственно и хочу разобраться.


--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью.
Конфуций
Go to the top of the page
 
+Quote Post
Xenia
сообщение Oct 25 2009, 09:02
Сообщение #3


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(scout @ Oct 25 2009, 09:34) *
Если отремарить строчку "FUNCTION test, 1", то работает. Параметр 1 я написал от фонаря, т.к не знаю, что это такое. Собственно и хочу разобраться.


А откуда вы взяли, что там должен быть параметр? Просто "FUNCTION test" не проходит?
У меня впечатление, что FUNCTION является заменой PUBLIC. Попробуйте "FUNCTION test" раскомментировать, а PIBLIC закоментировать.
P.S. Прошу прощения, но у меня IAR компилятор для AVR, а не для PIC18, поэтому могут быть расхождения в синтакисе языка.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 20:09
Рейтинг@Mail.ru


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