Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.10.2008, 16:57  
chapa
Вид на жительство
 
Аватар для chapa
 
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
chapa на пути к лучшему
По умолчанию "Синтаксис" ASM-кода в программе на Си

В АСМе разбираюсь хорошо, в Сях - пока плохо. А вот как правильно писать ASM - код в Сях? Где почитать?
Интересует связка Авр-студио и вин-авр. Про то, как вставлять Асм и передавать параметры в Си прочел в доке к вин-авру, там все понятно. Непонятно как правилько писать АСМ.

Например:

void delay1(unsigned char __tt)
{
__asm__ volatile (
"1: dec %0" "
"
"brne 1b"
:
: "r" (__tt)
);
}
Где найти описание конструкций типа "
"?
и зачем в строке ветвления "brne 1b" именно "b" на конце? и т.д.
Реклама:
chapa вне форума  
Непрочитано 16.10.2008, 20:54  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию

Сходи вот сюда:
http://www.nongnu.org/avr-libc/user-...nline_asm.html
Но все на аглицком! Привыкай.
Halex07 вне форума  
Непрочитано 16.10.2008, 23:07  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

[quote="chapa"
Где найти описание конструкций типа "
"?
и зачем в строке ветвления "brne 1b" именно "b" на конце? и т.д.[/quote]

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

Символ после метки указывает направление - b-вверх(begin) f-вперед(forward).
kison вне форума  
Непрочитано 17.10.2008, 13:49  
chapa
Вид на жительство
 
Аватар для chapa
 
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
chapa на пути к лучшему
По умолчанию

Всем спасибо, особенно Halex07-у, оказывается вся эта документация есть у меня на компе в вин-авре, просто не там искал. А от англиЦкого и не отвыкал. (к.ф.-м.н. [шаркнув ножкой])
chapa вне форума  
Непрочитано 22.02.2012, 10:06  
slavik.ksu
Частый гость
 
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
slavik.ksu на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

здравствуй те уважаемые форумчане!
Перехожу на Си, ничего не понимаю, поэтому не судите строго
задача: по приходу данных по UART генерируется прерывание по "завершению приема" и загорается светодиод. В симуляции прерывание происходит а то что внутри {} игнорируется, в чем можетбыть причина?
ISR ( USART_RX_vect )
{
switch(UDR)
{
LED_PORT &= ~ (1‹‹LED2);break;
}
}
slavik.ksu вне форума  
Непрочитано 22.02.2012, 10:32  
olc0267
Почётный гражданин KAZUS.RU
 
Регистрация: 06.08.2008
Адрес: Ярославль
Сообщений: 1,505
Сказал спасибо: 115
Сказали Спасибо 1,314 раз(а) в 548 сообщении(ях)
olc0267 на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

синтаксис оператора switch

switch (...)
{
case ... : ......; break;
case ... : ......; break;
case ... : ......; break;
case ... : ......; break;
default : .......;
}

http://citforum.ru/programming/c/h14.shtml#145

Только не пойму, зачем в Вашей программе switch.
Если нужно проверить состояние UDR, а потом выполнить действие, используйте if.

Последний раз редактировалось olc0267; 22.02.2012 в 10:38.
olc0267 вне форума  
Сказали "Спасибо" olc0267
slavik.ksu (24.02.2012)
Непрочитано 22.02.2012, 10:40  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

Сообщение от slavik.ksu Посмотреть сообщение
здравствуй те уважаемые форумчане!
Перехожу на Си, ничего не понимаю, поэтому не судите строго
задача: по приходу данных по UART генерируется прерывание по "завершению приема" и загорается светодиод. В симуляции прерывание происходит а то что внутри {} игнорируется, в чем можетбыть причина?
ISR ( USART_RX_vect )
{
switch(UDR)
{
LED_PORT &= ~ (1‹‹LED2);break;
}
}
http://www.opennet.ru/docs/RUS/ansi-c/ansi-c-6.html
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 22.02.2012, 10:43  
slavik.ksu
Частый гость
 
Регистрация: 20.02.2012
Сообщений: 30
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
slavik.ksu на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

Оказывается в этой конструкции switch строка выполняется только после меток case или default !
slavik.ksu вне форума  
Непрочитано 22.02.2012, 22:56  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

Сообщение от slavik.ksu Посмотреть сообщение
Оказывается в этой конструкции switch строка выполняется только после меток case или default !
А вы не пробовали в строке поиска Гугла набрать волшебные слова: "c cwitch operator"? На диво много прочитаете. И так по каждому оператору.
Есть еще слова: "керниган ричи" - тоже много интересного...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 23.02.2012, 03:10  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: "Синтаксис" ASM -кода в программе на Си.

Сообщение от slavik.ksu Посмотреть сообщение
Оказывается в этой конструкции switch строка выполняется только после меток case или default !
О сколь нам открытий чудных, готовит просвещенья дух... И опыт, сын ошибок трудных...
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис ССS yellow87 Микроконтроллеры, АЦП, память и т.д 8 04.09.2011 20:53
Keil С51 - связка asm и С кода kazusdoc Микроконтроллеры, АЦП, память и т.д 18 15.03.2011 10:16
Нарисуйте трансформатор в программе sPlan Timosha15 Источники питания и свет 4 23.06.2010 20:17
Автокалибровка в программе. synk Микроконтроллеры, АЦП, память и т.д 5 03.11.2009 12:57
вопрос по программе Transformer 3.0.0.3 Ham-radio1986 Источники питания и свет 1 06.12.2007 10:04


Часовой пояс GMT +4, время: 05:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot