Перейти к содержанию
    

Как правильно вставить в IAR EW5 файл .asm

Собственно сабж. Нашел, как вставить строчку на асм, а команды обозначающей начало и конец асм-вставки не нашел.

У hi-tech pic такая команда #asm, дальше сколько хош асма, в конце #endasm

На С не получается обработка FFT, с асмом грабли, мозг пухнет... F1!

И ещё: какие переменные можно видеть под асмом из С и как их в асм из С можно передать? (и в обратную сторону тоже)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А документацию читать вам религия не позволяет? Нажмите же упоминаемую вами кнопку F1. Либо в меню IDE откройте документ Help->.... С/С++ ... Guide в котором см. раздел Mixing C and assembler. Только все же так делать не следует. Вы затрудние компилятору работу по оптимизации.Лучше напишите отдельную функцию полностью на ASM и вызывайте ее из Си-шного модуля, как обычную функцию. О правилах "стыковки" и вызова asm-овых функций из Си написано в той же документации чуть ниже (раздел Calling assembler routines from C).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Со стыковкой разобрался. А вот с вставкой асм-никак. Вернее, как я уже писал, асм строчки вставляются, но "доопределить" внутри асм те же регистры типа ZL,ZH,ADCH,ADCL и т.д. не получилось. Отдельный файл асм в проект добавляется, к нему вопросов почти нет, но я не смог добавить(состыковать) его с прерываниями(не смог задать вектор+не знаю, как сделать переход из таблицы векторов к обработчику).

Чтение доки не помогло. Может у кого есть какой-либо пример?

Собственно обработчик прерывания на асм, контент сохраняю и восстанавливаю сам, вопрос, как из проекта вызвать этот обработчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вы считаете, пришло время указать конкретные тип МК и версию IAR? Или пусть телепаты еще потренируются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ATMega128, IAR EWAVR 5.4.

Тут ещё вопросик нарисовался: можно ли в пределах одного проекта использовать две таблицы векторов прерываний (одна основная, другая-из бутлоадера) или нужно сделать 2 проекта и отдельно их линковать?

2Moderators: Может отдельную тему для этого вопроса создать или переместить в нужную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Moderators: Может отдельную тему для этого вопроса создать или переместить в нужную?

Лучше всего банально воспользоваться поиском и не плодить дежурные темы вообще. В идеале - почитать документацию :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...