роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  


 Страниц (3): « 1 2 [3]   

> Без описания
mogikanin
Отправлено: 14 Февраля, 2011 - 11:59:19
Post Id


Рядовой


Сообщений всего: 10
Дата рег-ции: Февр. 2011  





Споры "СИшников" и "Ассемблерщиков" в Интернете видел. Знаком с (+) и (-) обеих языков. В споры не ввязывался. Для себя однозначно: "Ассемблер - самый "железный" язык". Тем более - Ассемблер 2. Дизассемблировал свои же программы СИ (переделанные из работавшего Ассемблера) ужаснулся, как безобразно относится к железу СИ. С другой стороны и плюсы увидел, в основном - сокращение времени проектирования за счёт возможности использования других готовых программ.
 
 Top
cjA
Отправлено: 14 Февраля, 2011 - 15:08:02
Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  





asm и _asm- зависит от компилятора и вызывает зависимость от компилятора Подшучивать, дразнить

пишите свои процедуры на классическом асме, делайте заголовочный файл и подсовывайте в Си на уровне сборщика. (я бы так сделал, изучать встроеный асм- это изучать еще один язык)
правда не понятно зачем вам асм в Си, я его встраивал когда нужно было матрицы умножать, там действительно критично было
 
 Top
Белый Волк Супермодератор
Отправлено: 14 Февраля, 2011 - 15:09:06
Post Id



Супермодератор


Сообщений всего: 648
Дата рег-ции: Февр. 2007  





mogikanin
Для справочной информации по GCC, который используется в Вашем случае, обратитесь к оригинальной документации: "arv-libc Manual" (в моём случае: Пуск --> Все программы --> WinAVR --> avr libc Manual [WinAVR]). В разделе "User Manual" есть глава "Inline Assembler Cookbook" - она посвящена ассемблерным вставкам.

Касательно "подводных камней", которые упоминал nest: безусловно, при применении ассемблерных вставок следует быть предельно осторожным, и убеждаться в правильности конечного сгенерированного кода ассемблера. Так же следует ознакомиться с описанием функций всех используемых библиотек. В программе с обработкой прерывания (по ссылке nest), можно использовать вариант объявления прерывания, в котором компилятор оставит весь код программисту, не положив в стек регистры и даже не поставив команду reti в конце прерывания.
 
 Top
mogikanin
Отправлено: 15 Февраля, 2011 - 05:22:34
Post Id


Рядовой


Сообщений всего: 10
Дата рег-ции: Февр. 2011  





cjA пишет:
asm и _asm- зависит от компилятора и вызывает зависимость от компилятора

Это так. Скорее всего, в WinAVR применяется asm.
cjA пишет:
пишите свои процедуры на классическом асме, делайте заголовочный файл и подсовывайте в Си на уровне сборщика.

Пожалуй это наиболее оптимальный вариант.
Белый Волк пишет:
В разделе "User Manual" есть глава "Inline Assembler Cookbook" - она посвящена ассемблерным вставкам.

Существенная конкретная подсказка, спасибо!
 
 Top
Страниц (3): « 1 2 [3]
« Делимся опытом »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown