роботы робототехника микроконтроллеры


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

> Без описания
mogikanin Post Id


Рядовой


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



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



Генерал


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



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

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



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


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



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

Касательно "подводных камней", которые упоминал nest: безусловно, при применении ассемблерных вставок следует быть предельно осторожным, и убеждаться в правильности конечного сгенерированного кода ассемблера. Так же следует ознакомиться с описанием функций всех используемых библиотек. В программе с обработкой прерывания (по ссылке nest), можно использовать вариант объявления прерывания, в котором компилятор оставит весь код программисту, не положив в стек регистры и даже не поставив команду reti в конце прерывания.
 
 Top
mogikanin 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
  Яндекс.Метрика   Рейтинг@Mail.ru